对于UIview,Xcode 8返回高度=1000,宽度=1000(实际大小为(328,40))

对于UIview,Xcode 8返回高度=1000,宽度=1000(实际大小为(328,40)),uiview,height,width,Uiview,Height,Width,自从我安装了Xcode 8,我就有麻烦了。 我没有得到每个或任何UIView的正确值 我还收到了UIView的约束警报。所以我更新了它。 但视图返回1000作为宽度或高度。 我试过或搜索了很多。但是没有得到任何适当的解决办法。 请帮助我。如前所述,您应该在viewDidLoad中调用layoutifneed查看: - (void)viewDidLoad { [super viewDidLoad]; [self.view layoutIfNeeded]; // Now

自从我安装了Xcode 8,我就有麻烦了。 我没有得到每个或任何UIView的正确值

我还收到了UIView的约束警报。所以我更新了它。 但视图返回1000作为宽度或高度。 我试过或搜索了很多。但是没有得到任何适当的解决办法。 请帮助我。

如前所述,您应该在
viewDidLoad
中调用
layoutifneed
查看:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.view layoutIfNeeded];

    // Now all your subviews are sized as you expect
}
对于Swift 3:


在xcode 8中,我无法让LayoutIfNeed完全工作,因此我必须将情节提要保存为xcode 7文件。然而,这个问题似乎在xcode8.1中得到了解决

谢谢。。我会试试这个。它适用于swift-self.view。layoutIfNeeded()不适用于textView inputAccessoryView。但是我想我可以在设置inputAccessoryView之前手动设置帧。。。但我讨厌硬代码:(
override func viewDidLoad() {
    super.viewDidLoad()
    self.view.layoutIfNeeded()
}