Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 键盘上方视图的最佳解决方案_Objective C_Uitableview - Fatal编程技术网

Objective c 键盘上方视图的最佳解决方案

Objective c 键盘上方视图的最佳解决方案,objective-c,uitableview,Objective C,Uitableview,我是IOS新手,我有些困惑。我有这样的等级制度 tableView-包含我的项目列表 PlayerMessagePanel-这是一个用于发送消息的面板。但当我点击“PlayerMessage”面板中的UITextField时,键盘完全覆盖了所有内容 我试着这样做: [[NSNotificationCenter defaultCenter] addObserver:self selector:@select

我是IOS新手,我有些困惑。我有这样的等级制度

tableView-包含我的项目列表 PlayerMessagePanel-这是一个用于发送消息的面板。但当我点击“PlayerMessage”面板中的UITextField时,键盘完全覆盖了所有内容

我试着这样做:

[[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardDidShow:)
                                                 name:UIKeyboardDidShowNotification
                                               object:nil];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardDidHide:)
                                                 name:UIKeyboardDidHideNotification
                                               object:nil];
然后,听者添加边距

- (void)keyboardDidShow: (NSNotification *) notif{
    //Keyboard becomes visible
    self.view.frame = CGRectMake(self.view.frame.origin.x,
                                  self.view.frame.origin.y - 220,
                                  self.view.frame.size.width,
                                  self.view.frame.size.height);   //move up
}

- (void)keyboardDidHide: (NSNotification *) notif{
    //keyboard will hide
    self.view.frame = CGRectMake(self.view.frame.origin.x,
                                  self.view.frame.origin.y + 220,
                                  self.view.frame.size.width,
                                  self.view.frame.size.height);   //move down
}
但是它没有正确工作,就像这样


请给我一些建议我该怎么做。谢谢

使用情节提要并在播放器消息面板的底部添加一个约束。然后将该约束链接或拖动到您的界面中,就像您对故事板上的其他内容所做的那样。然后,当该通知
keyboarddishow
触发时,更改约束常量,并在另一个触发时将其设置回0。另外请查看此。。。下面是一个从通知中获取键盘大小的示例。