【问题标题】:how to remove the black background when the keyboard appears键盘出现时如何去除黑色背景
【发布时间】:2015-07-20 11:38:56
【问题描述】:

这是我的功能

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

    [self.tableView setFrame:frame];
}

效果很好,但是当键盘出现时,我希望将黑色背景设置为白色或清晰。

在点击编辑之前

在键盘打开时单击后

键盘已打开并准备好输入

有什么办法吗?

【问题讨论】:

    标签: objective-c uitableview scroll keyboard


    【解决方案1】:

    效果很好

    不,它没有。它的工作非常糟糕。你需要把整个代码扔掉,然后重新开始。

    问题出在这一行:

    [self.tableView setFrame:frame];
    

    我可以想出很多方法来说明该代码有什么问题:

    • 你这样做太早了 - keyboardWillShow。所以在键盘确实显示之前自然会有一个黑色空间。

    • 你没有动画改变。为更改设置动画以匹配键盘的动画。

    • 最重要的是:整个概念都是错误的。你不应该改变你的表格视图的 frame 而是它的 content inset

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-14
      • 1970-01-01
      • 1970-01-01
      • 2013-05-13
      相关资源
      最近更新 更多