我想實現以下目標。創建一個UIView來捕獲水龍頭,但對所有其他手勢都是透明的
情景:iOS鍵盤在用戶鍵入特定文本字段時處於屏幕顯示狀態。用戶可以點擊鍵盤和文本字段以外的任何位置以關閉鍵盤(無需激活任何可見的按鈕)。此外,用戶可以在鍵盤外部將拖動到,並觀察某些可滾動視圖排列上的正常拖動行爲。
概念,我把一個「蓋」 UIView
超極本屏幕其行爲使得:
如果用戶點擊了蓋,然後我捕捉龍頭(讓我能例如,關閉鍵盤)。通過攔截
UIView
子類中的觸摸事件或使用輕擊手勢識別器可輕鬆實現此操作。如果用戶拖動上蓋子,然後蓋忽略或轉發這些觸摸;這些被下面的圖層接收,就像它們沒有封面一樣。
所以說:用戶應當能夠滾動蓋下面的內容,而不是挖掘蓋下面的內容。輕敲鍵盤和文本區域的「外部」應該關閉鍵盤(和蓋子),但不應激活任何東西。
我該如何做到這一點?
你必須考慮執行觸摸委託方法,並在觸摸傳給其背後都是對刷卡的意見。 ' - (無效)的touchesBegan:(NSSet中*)觸摸withEvent:方法(的UIEvent *)事件{ [奧瑟維尤的touchesBegan:觸摸withEvent:方法事件]; }'的另一種方式是實施,UIPanGestureRecognizer並設置cancelsTouchesInView = YES如'UIPanGestureRecognizer * GR = [[UIPanGestureRecognizer的alloc] initWithTarget:自動作:@selector(handlePan)]; [gr setCancelsTouchesInView:YES]; [myButton addGestureRecognizer:gr]; [GR發行]' – iDev
@mjh,你有沒有找到一個解決這個? – kpozin