簡體   English   中英

通過像iOS 5中的短信應用程序一樣拖動手指隱藏鍵盤

[英]hide keyboard by dragging finger like sms app in iOS 5

我在我的應用程序中有一個聊天功能,我試圖通過向下拖動手指來隱藏鍵盤,就像你可以在IOS 5中的短信應用程序中隱藏鍵盤一樣。

我已經將UITableView子類化了,但是一旦滾動開始,我就不再接到調用了

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

我想知道如何滾動並找出手指在滾動過程中的位置,這樣如果它開始接近鍵盤我就可以開始隱藏它。

我認為這是很多人都想要的功能,關於如何制作它的任何想法?

DAKeyboard控制它是您正在尋找的MIT許可代碼源。

進一步的谷歌搜索透露,這個問題是重復的:

如何像在Messages.app中一樣移動iPhone鍵盤?

Daniel的DAKeyboardControl庫的幫助下,我在我的應用程序中啟用了此功能。 只需一行語句即可實現iMessage樣式鍵盤隱藏酸度:

[self.view addKeyboardPanningWithActionHandler:^(CGRect keyboardFrameInView) {
    // Move interface objects accordingly
    // Animation block is handled for you
}];

幸運的是,在iOS 7中,Apple在UIScrollView上添加了方便的屬性keyboardDismissMode 現在,只需更改Storyboard上的單個屬性或添加一行代碼,您的應用就可以像消息一樣工作。

此屬性使用新的ScrollViewKeyboardDismissMode枚舉。 枚舉的可能值如下。

UIScrollViewKeyboardDismissModeNone
UIScrollViewKeyboardDismissModeOnDrag
UIScrollViewKeyboardDismissModeInteractive

這是故事板屬性在滾動時關閉鍵盤

UITableView繼承自UIScrollView,因此您可以使用UIScrollViewDelegate方法檢測滾動位置,如- (void)scrollViewDidScroll:(UIScrollView *)scrollView

暫無
暫無

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

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