[英]read UI correct frame with Autolayout
I have a UIViewController
with UIScrollView
inside. 我有一个带有
UIScrollView
的UIViewController
。 The scroll view automatically adjust its frame according with device screen. 滚动视图会根据设备屏幕自动调整其框架。 My problem is that in the code I can't read the correct frame of scroll view.
我的问题是在代码中我无法读取滚动视图的正确框架。
self.scrollView.frame
always return {{0, 0}, {600, 600}}
that's the default size of view controller in Interface Builder xib. self.scrollView.frame
始终返回{{0, 0}, {600, 600}}
self.scrollView.frame
{{0, 0}, {600, 600}}
,这是Interface Builder xib中视图控制器的默认大小。
I have tried in viewDidLoad
and in loadView
methods but the frame is still {{0, 0}, {600, 600}}
. 我已经在
viewDidLoad
和loadView
方法中尝试过,但是帧仍然是{{0, 0}, {600, 600}}
。
- (void)viewDidLoad {
[super viewDidLoad];
self.scrollView.pagingEnabled = YES;
self.scrollView.delegate = self;
NSLog(@"%@",NSStringFromCGRect(self.scrollView.frame));
}
Ideas ? 想法?
您可以在viewController的-(void)viewDidLayoutSubviews
方法中获得正确的帧
when ever you need correct frame after apply layout constraints 应用布局约束后何时需要正确的框架
write below two lines 写在下面两行
[self.view setNeedsLayout];
[self.view layoutIfNeeded];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.