Ios UIView使用自动布局调整大小,但在运行时获取其帧大小不正确

Ios UIView使用自动布局调整大小,但在运行时获取其帧大小不正确,ios,swift,autolayout,Ios,Swift,Autolayout,当我放置框架尺寸视图时(0.0,0.0320.0435.0)应用自动布局时,它在iphone 5(4英寸)中显示正常,当我在iphone 4s中运行时,由于自动布局,它显示正常,但当我在运行时执行后获取其框架值时,它显示为(0.0,0.0320.0435.0)我无法获取在iphone 4s中应用自动布局后发生变化的尺寸? 我想获得大小,因为使用该大小,我可以通过编程方式设置创建的自定义视图的大小。我认为,在调用此命令时,自动布局还没有时间布局视图。调用viewDidLoad时,自动布局尚未发生,

当我放置框架尺寸视图时(0.0,0.0320.0435.0)应用自动布局时,它在iphone 5(4英寸)中显示正常,当我在iphone 4s中运行时,由于自动布局,它显示正常,但当我在运行时执行后获取其框架值时,它显示为
(0.0,0.0320.0435.0)
我无法获取在iphone 4s中应用自动布局后发生变化的尺寸?
我想获得大小,因为使用该大小,我可以通过编程方式设置创建的自定义视图的大小。

我认为,在调用此命令时,自动布局还没有时间布局视图。调用viewDidLoad时,自动布局尚未发生,因为它是在加载视图之后调用的,并且只有在加载之后,视图才会被放置到视图控制器的视图层次结构中,并最终进行布局(在视图的layoutSubviews方法中)

试试这个代码

        //delegate method
      - (void) viewDidLayoutSubviews
       {
            NSLog(@"height=%f",self.myview.frame.size.height);
       }
在“获取实际尺寸代码”之前,插入以下代码:

yourView.setNeedsLayout()
yourView.layoutIfNeeded()

你想在什么时候读这个框架?这可能是因为视图在打印其帧时尚未布局。@我正在尝试进入视图的liamnichols没有加载,因为我想根据获得的帧大小设置自定义视图的大小。尝试在视图中添加代码将出现。。检查它是否工作正常