iOS AutoLayout - 获取帧大小宽度

iOS AutoLayout - get frame size width(iOS AutoLayout - 获取帧大小宽度)
本文介绍了iOS AutoLayout - 获取帧大小宽度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 iOS 6 自动布局进行开发

I am developing using iOS 6 auto layout

我想记录一条显示视图框架宽度的消息.

I would like to log a message displaying the frame width of the view.

我可以在屏幕上看到 textView.

I can see the textView on the screen.

但我得到的宽度和高度为零,我错过了什么吗?

But I get the width and height as zero, am I missing something ?

NSLog(@"textView    = %p", self.textView);
NSLog(@"height      = %f", self.textView.frame.size.height);
NSLog(@"width       = %f", self.textView.frame.size.width);

textView    = 0x882de00
height      = 0.000000
width       = 0.000000

推荐答案

我认为自动布局在你调用它的时候还没有时间来布局你的视图.在调用 viewDidLoad 时自动布局还没有发生,因为它是在视图加载后调用的,并且只有在视图被放置到视图控制器的视图层次结构中并最终布局之后(在视图的 layoutSubviews 方法中).

I think auto layout hasn't had the time to layout your views by the time you call this. Auto layout hasn't happened by the time viewDidLoad is called, because it's called just after the views are loaded and it's only after that that the views are placed into the view controller's view hierarchy and eventually laid out (in the view's layoutSubviews method).

这个答案指出了为什么问题中的场景不起作用.@dreamzor 的回答指出了将代码放置在何处以解决问题.

this answer points out why the scenario in the question doesn't work. @dreamzor's answer points out where to place your code in order to solve it.

这篇关于iOS AutoLayout - 获取帧大小宽度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Why local notification is not firing for UNCalendarNotificationTrigger(为什么没有为UNCalendarNotificationTrigger触发本地通知)
iOS VoiceOver functionality changes with Bundle Identifier(IOS画外音功能随捆绑包标识符而变化)
tabbar middle tab out of tabbar corner(选项卡栏中间的选项卡角外)
Pushing UIViewController above UITabBar(将UIView控制器推送到UITabBar上方)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Get an event when UIBarButtonItem menu is displayed(显示UIBarButtonItem菜单时获取事件)