簡體   English   中英

如何創建iOS UiView,將彼此相鄰的多個按鈕組合在一起,並通過滑動即可選擇所有按鈕

[英]How to create iOS UiView that combines multiple buttons next to each other and enables swiping to selecting all of them

現在我有幾個像這樣的按鈕:

在此處輸入圖片說明

用戶必須按所有它們以選擇整行(我有幾行)。 使他們能夠在其上滑動以將其全部選中是很自然的。 我還需要獲取有關選擇了多少個按鈕的信息。

你能幫我實現這個目標嗎? 我是否必須創建自己的視圖或實現一些手勢偵聽器?

根據您到底要實現什么,有兩種簡單的方法:

  1. 最簡單的方法:將UISwipeGestureRecognizer添加到視圖(或僅包含4個按鈕的視圖),並在視圖控制器中實現委托接口。 完成滑動(方向正確)后,您會收到一個事件並執行“解鎖”。

UISwipeGestureRecognizer擴展了UIGestureRecognizer在此處閱讀文檔):

手勢識別器的客戶端還可以通過調用locationInView:或locationOfTouch:inView:來請求手勢的位置。

因此,通過實現UIGestureRecognizerDelegate在此處下載文檔),您應該能夠准確地檢查您想要的內容。

  1. 如果要手動跟蹤用戶手指,則可以擴展UIView並實現:
    • touchBegan
    • touchMoved
    • touchEnded

您可以在此處擁有完全控制權( CGRectContainsPoint()將很有用)。

編輯:重要的是您必須牢記的是要選擇速度。 如果用戶即使使用緩慢且非線性的手勢也可以選擇該行(例如,將手指放在第一個按鈕上,然后>緩慢轉到第二個>轉到第三個>返回第二個>轉到最后一個),則應該擴展UIView然后在觸摸上開始突出顯示第一個圖像,然后跟隨手指直到最后一個按鈕上的touchEnd。 它應該更加用戶友好(當然,這取決於您要實現的目標)。

簽出此開源項目Swipe-to-Select Gridview

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM