当我从nib动态加载子视图并在viewDidLoad
期间将其添加到当前主视图时出现问题。
UIView *someView = // load from nib
someView.frame
= CGRectMake(.0,
.0,
kFormSheetWidth /* = 540.0 */,
kFormSheetHeight) /* = 576.0 */;
[self.view addSubview:someView];
这一切都发生在FormSheet窗口中,其中UINavigationController
实例已传递到presentModalViewController
:.
但是,someView总是将自身调整为大220.0,高116.0,因此不适合窗口。
someView笔尖看起来像
的UITableView
xx UIView
xxxx UITextInput
xx UIButton
所有这些观点都有autoresizeSubviews == YES, clipSubviews == YES
。
这是非常令人惊讶的行为。有趣的是,当我在viewWillAppear:
中设置someView的框架时,一切看起来都很好。我应该寻找什么(哪里)解决这个问题?
答案 0 :(得分:0)
你这样做是横向模式吗? (我认为ipad是因为尺寸?)
这在黑暗中有点刺痛,但对许多人来说这是一个问题。 (如果它不是我的道歉)
UINavigationController的rootview不处理
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
像你的代码那样的方法,所以你需要子类化UINavigationController并像你的视图控制器那样实现它,所以它并不总是以纵向方式添加视图。
答案 1 :(得分:0)
在viewDidLoad上创建框架后,某些视图正在调整自身大小。
你应该做什么,将autoresizeSubviews
设置为NO或只在viewWillApear中设置它的帧。