如何在键盘出现时删除黑色背景

时间:2015-05-09 17:03:32

标签: objective-c uitableview scroll keyboard

这是我的功能

- (void)keyboardWillShow:(NSNotification *)notification
{
    keyboardSize = [notification.userInfo[UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
    CGRect frame = [self.tableView frame];
    frame.size.height -= keyboardSize.height;

    [self.tableView setFrame:frame];
}

它运作良好但是当键盘出现时,我想要使白色或透明的黑色背景。

点击编辑之前 enter image description here

键盘打开后单击

enter image description here enter image description here

键盘已打开并准备输入 enter image description here

有办法吗?

1 个答案:

答案 0 :(得分:3)

  

效果很好

不,不。它的工作非常糟糕。您需要抛出整个代码并重新开始。

问题在于这一行:

[self.tableView setFrame:frame];

我可以想出很多方法来说明该代码的错误:

  • 你在<{1}}中正在过早。所以在键盘

  • 显示之前,自然会有一个黑色空格。

  • 您不是动画更改。为更改设置动画以匹配键盘的动画。

  • 最重要的是:整个观念都是错误的。您不应该更改表格视图的框架,而是更改内容插入