2012-07-09 8 views
51

Wystąpił problem polegający na tym, że mój przycisk powinien pozostać "wciśnięty", gdy wyświetlany jest z niego popover. Popover jest selektorem dla niektórych filtrów, a filtr jest wyświetlany na samym przycisku. Kiedy klikam na nią i pokazuje popover, odznacza się ją bez względu na wszystko.Zdarzenia UIButton. Co za różnica?

Wydaje mi się, że muszę ponownie zdefiniować jego zachowanie na zdarzeniu dotykowym i sprawić, by nie odpowiadał on standardowi touch up inside. Następnie zastanawiałem się, za co są odpowiedzialne inne wydarzenia? Ale nie mogłem znaleźć listy zdarzeń w bibliotece iOS, aw StackOverflow są tylko pytania o nieprawidłowe zachowanie touch up inside lub touch down.

Jaka jest różnica między wydarzeniami dotyku?

  1. Dotknij Anuluj - po dotknięciu przycisku, ale przesunięciu palca i pozostaje odznaczone?
  2. touch down - bezpośrednio z kranu.
  3. touch down repeat ??
  4. przeciągnij i wkrocz Enter?
  5. dotykowy przeciągnij wyjście?
  6. przeciągnij dotykiem wewnątrz?
  7. przeciągnij dotykiem na zewnątrz?
  8. Ulepszone wnętrze - po dotknięciu i zwolnieniu przycisku pozostanie w jego granicach . Zmienia stan UIButtons na Normal.
  9. na zewnątrz - po dotknięciu i zwolnieniu przycisku pozostawiając granice ?

inne IBActions nie są wysyłane przez UIButton, prawda? Jak te wydarzenia zmieniają wygląd Uibutton? Podobnie jak highlighted lub selected?

Byłbym wdzięczny za link do dobrego artykułu na temat IBActions, ponieważ nie mogłem go znaleźć.

+6

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIControl_Class/Reference/Reference.html#//apple_ref/doc/constant_group/Control_Events – janusbalatbat

+0

@janusfidel dziękuję bardzo wiele, odpowiedziałem na moje pytanie całkowicie :) – Protheus

Odpowiedz

126

Od ios library:

  1. UIControlEventTouchCancel

    zdarzenia systemowego anuluje bieżące poprawki dotyczące kontroli.

  2. UIControlEventTouchDown

    Zdarzenie dotykowy w sterowaniu.

  3. UIControlEventTouchDownRepeat

    Powtarzające zdarzenie dotykowego dół w kontroli; dla tego zdarzenia wartość metody tapCount UITouch jest większa niż jeden.

  4. UIControlEventTouchDragEnter

    Zdarzenie, w którym palec jest przeciągany w granicach kontroli.

  5. UIControlEventTouchDragExit

    Zdarzenie, w którym palec jest przeciągany z poziomu kontroli na swoich granicach zewnątrz.

  6. UIControlEventTouchDragInside

    Zdarzenie, w którym palec jest przeciągany wewnątrz granice kontroli.

  7. UIControlEventTouchDragOutside

    Zdarzenie, w którym palec jest przeciągany po prostu poza granice kontroli.

  8. UIControlEventTouchUpInside

    Zdarzenie retusz w kontroli, gdzie palec znajduje się wewnątrz granic kontroli.

  9. UIControlEventTouchUpOutside

    Zdarzenie retusz w kontroli, gdzie palec poza granice kontroli.

+3

Tak więc, aby wyjaśnić, poprzez "retusz", oznacza to, że palec został usunięty, prawda? Ponieważ może to oznaczać wiele różnych rzeczy (np. Przesuwanie lekko w górę lub przesuwanie w górę i usuwanie palca, lub może dziwnie odnosić się do rzeczywistego znaczenia słowa [retusz] (http: //www.merriam-webster. com/dictionary/retusz)). –

+1

@ParthianShot To jest, gdy użytkownik odsuwa palec od ekranu, tak. – Protheus

+0

Wygląda na to, że 'DragEnter' i' DragInside' są bardzo podobne? – Crashalot

Powiązane problemy