有没有人在使用 PFLoginViewController(来自 ParseUI 框架)的 iOS 9 中遇到问题?
在 iOS 8 中,根据 Parse 文档,我在 viewDidLayoutSubviews 中为 LoginViewController 设置了自定义字段,但是在 iOS 9 中,它进入了无限循环并且不会退出 viewDidLayoutSubviews 方法。
(void)viewDidLayoutSubviews {
NSLog(@"didLayoutSubviews");
[super viewDidLayoutSubviews];
float width = self.view.frame.size.width;
float height = self.view.frame.size.height;
......
[self.logInView addSubview:backgroundImage]; // <- the line here causes an infinite loop
}
更新:我已将其缩小到罪魁祸首: addSubview 是导致无限循环的行。但同样,它只会在 iOS9 中导致它......通过?
更新 2:对于所有 ParseUI 用户,答案(感谢以下受访者的想法)是,尽管它在 iOS 8 中使用该 Parse,但您不能再在 viewDidLayoutSubviews 中向 PFLoginViewController 添加背景图像,如先前记录的. 同样在 viewDidLoad 处将背景添加到 PFLoginViewController.loginView 也不起作用。
解决方案:将添加任何子视图移动到viewDidLoad方法中,不添加子视图到PFLoginViewController.loginView;而是将子视图直接添加到 PFLoginViewController.view