我正在开发一个支持iOS 7和8的应用程序。该应用程序在iOS 7上运行正常,但是当我在iOS 8上运行它时,当我按下其中一个UITextFields
时,它会冻结。
我已经阅读了其他答案,谈到没有UITextField
作为自己的代表。以下是其中一个答案:is there any paper or an explanation on how to implement a two dimensional KMP?
然而,为了测试这一点,我已将新的UITextField
拖入应用程序而未设置委托。我还拖出了UIButton
。
当我点击UIButton
时,一切都很好。但是,当我单击UITextField
(没有委托设置的那个)时,应用程序仍会冻结。
非常感谢任何帮助。
答案 0 :(得分:1)
首先再次感谢Leo的非常有益的评论。似乎无论何时按下UITextField viewWillLayoutSubviews
都会被调用。
以下是应用程序的代码:
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
self.view.superview.bounds = CGRectMake(0.0, 0.0, 616.0, 703.0);
}
似乎在iOS 8中你无法调用self.view.superview.bounds
,因为它会导致无限循环。有关详细信息,请参阅以下答案:
答案 1 :(得分:0)
就我而言,我重写了draw
方法并改变了layer
。无效循环发生在UITextField
,当用户到达画布的末尾并且他想要输入更多时。