2012-07-09 27 views
51

Tôi gặp phải sự cố khi nút của tôi vẫn được "nhấn" trong khi nút này hiển thị cửa sổ bật lên được gọi từ đó. Popover là bộ chọn cho một số bộ lọc và bộ lọc được hiển thị trên chính nút đó. Khi tôi gõ vào nó và nó cho thấy cửa sổ bật lên nó sẽ trở thành bỏ chọn không có vấn đề gì.Sự kiện UIButton. Có gì khác biệt?

Tôi nghĩ rằng tôi phải xác định lại hành vi của mình trên sự kiện chạm và khiến ứng dụng phản hồi không đứng nổi bật touch up inside. Sau đó, tôi tự hỏi các sự kiện khác có trách nhiệm gì? Nhưng tôi không thể tìm thấy danh sách sự kiện trong thư viện iOS và trong StackOverflow chỉ là câu hỏi về hành vi không chính xác của touch up inside hoặc touch down.

Vì vậy, sự khác biệt giữa các sự kiện liên lạc là gì?

  1. chạm hủy - khi bạn chạm vào nút nhưng di chuyển ngón tay ra và nó vẫn bị bỏ chọn?
  2. chạm xuống - ngay trên vòi nước.
  3. chạm xuống lặp lại ??
  4. chạm kéo vào ??
  5. chạm kéo thoát?
  6. chạm vào bên trong ??
  7. chạm vào kéo bên ngoài ??
  8. chạm vào bên trong - khi bạn nhấn và thả nút còn lại ở đó là giới hạn . Nó thay đổi trạng thái UIButtons thành Normal.
  9. chạm vào bên ngoài - khi bạn nhấn và thả nút thoát khỏi giới hạn ?

các IBActions khác không được gửi bởi UIButton, phải không? Ngoài ra các sự kiện đó thay đổi diện mạo của UIButton như thế nào? Giống như highlighted hoặc selected?

Tôi đánh giá cao một liên kết về bài viết hay về IBActions, bởi vì tôi không thể tìm thấy nó.

+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 cảm ơn bạn rất nhiều, nó trả lời câu hỏi của tôi hoàn toàn :) – Protheus

Trả lời

126

Từ ios library:

  1. UIControlEventTouchCancel

    Một sự kiện hệ thống hủy chạm hiện tại cho sự kiểm soát.

  2. UIControlEventTouchDown

    Một sự kiện liên lạc xuống trong tầm kiểm soát.

  3. UIControlEventTouchDownRepeat

    Một lặp đi lặp lại sự kiện liên lạc xuống trong sự kiểm soát; cho sự kiện này giá trị của phương thức tapCount của UITouch lớn hơn một.

  4. UIControlEventTouchDragEnter

    Một sự kiện mà một ngón tay được kéo vào bờ cõi của các kiểm soát.

  5. UIControlEventTouchDragExit

    Một sự kiện mà một ngón tay được kéo từ bên trong một điều khiển ra ngoài giới hạn của nó.

  6. UIControlEventTouchDragInside

    Một sự kiện mà một ngón tay được kéo bên trong giới hạn của sự kiểm soát.

  7. UIControlEventTouchDragOutside

    Một sự kiện mà một ngón tay được kéo ngay bên ngoài các giới hạn của sự kiểm soát.

  8. UIControlEventTouchUpInside

    Một sự kiện touch-up trong điều khiển nơi các ngón tay là bên trong các giới hạn của sự kiểm soát.

  9. UIControlEventTouchUpOutside

    Một sự kiện touch-up trong việc kiểm soát nơi ngón tay nằm ngoài giới hạn của sự kiểm soát.

+3

Vì vậy, chỉ để làm rõ, bởi một sự kiện "touch-up", nó có nghĩa là ngón tay đã được gỡ bỏ, phải không? Bởi vì điều đó có thể có nghĩa là một số thứ khác nhau (ví dụ: vuốt nhẹ lên trên hoặc vuốt lên và loại bỏ ngón tay, hoặc nó có thể liên quan đến ý nghĩa thực tế của từ [touch-up] (http: //www.merriam-webster). com/dictionary/touch-up)). –

+1

@ParthianShot Đó là khi người dùng di chuyển ngón tay của mình ra khỏi màn hình, vâng. – Protheus

+0

Có vẻ như 'DragEnter' và' DragInside' rất giống nhau? – Crashalot

Các vấn đề liên quan