我有一个从像这样的笔尖加载的视图:
SLSCaseCard* caseCard = [[[NSBundle mainBundle] loadNibNamed:@"SLSCaseCard" owner:self options:nil] objectAtIndex:0];
我正在设置它的框架:
cardFrame = CGRectMake(25,25, caseCard.frame.size.width, 44);
[caseCard setFrame:cardFrame];
[self.view addSubview:caseCard];
x
和y
正在发生变化,但高度始终保持不变。视图在笔尖中的大小为224,并且在运行时保持在该高度。
答案 0 :(得分:2)
Storyboard(或XIB' s)为您生成代码。此代码在布局子视图中执行。因此,如果要更改XIB中定义的视图的帧,则应在viewDidLayoutSubviews
或layoutSubviews
之后执行此操作。
因此,即使在设置视图的高度之后,您的更改也会被XIB生成的代码覆盖,在您的情况224中,覆盖高度到XIB中定义的高度。宽度也相同。