我注意到在iOS 9中运行时,我的应用程序中没有显示uibutton(在早期的OS版本中运行正常)。我知道有几个人注意到故事板(https://forums.developer.apple.com/thread/14003)存在类似的问题,虽然我没有使用它们,而是以编程方式构建我的视图。没有autolayout或autoresizingmask可以担心。
UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(SUG_MARGIN, self.mainView.bounds.size.height - 40 - margin, self.mainView.bounds.size.width-margin*2, 40);
[button setTitle:NSLocalizedString(@"...", nil) forState:UIControlStateNormal];
button.titleLabel.font = //...;
button.backgroundColor = //...;
[self.mainView addSubview:button];
NSLog(@"main:%@\nadd:%@\nsuper:%@", NSStringFromCGRect(self.mainView.frame), NSStringFromCGRect(button.frame), button.superview);
该nslog显示正确设置的所有内容。
我在整个应用程序中都有类似的按钮,但这是唯一没有出现的按钮,这就是为什么我在摸不着头脑。
答案 0 :(得分:0)
重构代码,仅在viewWillLayoutSubviews中分配度量框,现在可以正常工作。奇怪。