如果隐藏了我的视图,则不响应setFrame

时间:2014-11-06 21:11:32

标签: ios

我有一个提交按钮,我最初设置为隐藏。当我尝试调整它的框架时,我似乎无法移动它? (我做出这个假设的原因是因为我的键盘覆盖了屏幕的下半部分,我尝试在键盘启动时自动调整按钮)

所以我的hacky修复是让这个代码在键盘监听器中运行:

if (self.submitButton.isHidden) {
    self.submitButton.hidden = NO;
    self.submitButton.frame = CGRectSetY(self.submitButton.frame, CGRectGetHeight(self.view.frame) - BUTTON_FULL_HEIGHT);
    self.submitButton.hidden = YES;
} else {
    self.submitButton.frame = CGRectSetY(self.submitButton.frame, CGRectGetHeight(self.view.frame) - BUTTON_FULL_HEIGHT);
}

这是正确的吗?

2 个答案:

答案 0 :(得分:1)

您应该注册接收UIKeyboardWillShowNotification次通知。这些通知将使用密钥userInfoUIKeyboardFrameEndUserInfoKey上包含键盘框架。在这里,您可以移动submitButton以避开键盘。

答案 1 :(得分:0)

我发现我使用的按钮不是UIButton *而且该类是覆盖隐藏的设置(并且意外破坏)的其他内容

但由于我不知道如何正确地结束这个问题,我只想对其他答案赞不绝口