objective-c - 如何在键盘打开的同时滚动表格 View ?

标签 objective-c swift scroll keyboard

我想要控制打开的键盘并能够同时滚动表格 View 。我现在必须关闭键盘才能滚动表格 View 。

最佳答案

您在 viewDidLoad 中注册通知并在 viewWillDisappear 中取消注册通知

[[NSNotificationCenter defaultCenter]
    addObserver:self
       selector:@selector(keyboardWillShow:)
           name:UIKeyboardWillShowNotification
         object:nil];
[[NSNotificationCenter defaultCenter]
    addObserver:self
       selector:@selector(keyboardWillHide:)
           name:UIKeyboardWillHideNotification
         object:nil];

简单地通过键盘的高度调整tableview的contentInset,然后将单元格滚动到底部:

- (void)keyboardWillShow:(NSNotification *)aNotification
{
    NSDictionary* info = [aNotification userInfo];
    CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;

    UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize.height, 0.0);
    self.myTableView.contentInset = contentInsets;
    self.myTableView.scrollIndicatorInsets = contentInsets;


}

- (void)keyboardWillHide:(NSNotification *)aNotification
{
    [UIView animateWithDuration:.3 animations:^(void) 
    {
        self.myTableView.contentInset = UIEdgeInsetsZero;
        self.myTableView.scrollIndicatorInsets = UIEdgeInsetsZero;
    }];
}

关于objective-c - 如何在键盘打开的同时滚动表格 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39261750/

相关文章:

ios - 如果一个文本字段已添加到单元格,如何不创建新的文本字段

iphone - "Thread 6 com.apple.NSURLConnectionLoader: Program received signal: EXC_BAD_ACCESS"

ios - CloudKit 订阅不起作用

javascript - 改进非常长的图像滚动页面的加载时间

android - GridView 加载重复的图像和文本(使用 EndlessScrollListener)

jquery - 如何让 Iscroll 和 Lazy Load jQuery 插件一起工作?

IOS Xcode 5.1 在单独的行中搜索路径

ios - 不同 View Controller 中的同名变量

ios - Swift/iOS 哪种通知机制最可靠?

ios - 动画起源iOS