Ios 根据设备屏幕从xib文件获取大小参数

Ios 根据设备屏幕从xib文件获取大小参数,ios,xcode,xib,Ios,Xcode,Xib,我有一个xib文件,其中UIView对屏幕的限制有一些限制 由于该应用程序是在iPad和iPhone上开发的,如何在运行时获得UIView的大小?我已经尝试获取UIView出口的size参数,但是返回的值与最初在xib文件中设置的值相对应 感谢您在xib文件中设置约束,以便将UIView附加到控制器的大小。这样,根据屏幕的大小,它将自动调整到合适的大小,您将能够从代码中获取帧值 将约束设置为根据设备屏幕调整大小后,可以执行以下类似操作: - (void)viewWillAppear:(BOOL

我有一个xib文件,其中UIView对屏幕的限制有一些限制

由于该应用程序是在iPad和iPhone上开发的,如何在运行时获得UIView的大小?我已经尝试获取UIView出口的size参数,但是返回的值与最初在xib文件中设置的值相对应


感谢您在xib文件中设置约束,以便将UIView附加到控制器的大小。这样,根据屏幕的大小,它将自动调整到合适的大小,您将能够从代码中获取帧值

将约束设置为根据设备屏幕调整大小后,可以执行以下类似操作:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    CGRect frame = self.mycustomview.frame; // replace with your IBOutlet
}

在viewDidLayoutSubviews方法中,您将找到屏幕的正确大小。

在显示视图之前或之后是否尝试获取它?视图未在ViewDidLoad上设置尝试在viewDidAppearI中获取视图我也尝试从viewDidAppear获取视图,但结果相同。嗯,很有趣。。。试着在不同的区域打印出框架的大小,看看它们何时改变以适应屏幕<代码>视图将出现,
视图显示
视图将布局子视图
,以及
视图显示布局子视图
。在其中一种情况下,如果约束设置正确,将显示新的大小。。。如果没有,那么可能会检查所有内容是否连接正确,约束是否正确?在新项目中,将代码放入viewDidLayoutSubviews中似乎很有效。因此,旧项目的代码中一定有错误。谢谢