我有 3 个相邻的视图:一个在中心,两个在顶部和底部。有时我将顶部和底部视图设置为隐藏。发生这种情况时如何使中心视图拉伸?
问问题
439 次
3 回答
0
创建NSArray
3 个(或更多)中UIView
的一个,并在隐藏任何视图时调用此方法。此方法将允许任何可见视图扩展以填充容器。
-(void)expandVisibleViews{
NSUInteger numVisible = 0;
NSFloat height;
NSUInteger count = 0;
for(UIView *view in viewArray){
if(!view.hidden){
numVisible++;
}
}
height = container.frame.size.height / numVisible;
for(UIView *view in viewArray){
if(!view.hidden){
view.frame = CGRectMake(view.frame.origin.x, height*count, view.frame.size.width, height);
count++;
}
}
}
于 2012-08-17T21:05:54.803 回答
0
我决定在调用 set hidden 时对分配给视图框架的 CGRect 进行硬编码:
if (surroundingViewsHidden) {
iphoneWebView.frame = CGRectMake(0, 0, 320, 460);
ipadWebView.frame = CGRectMake(0, 0, 1024, 768);
}
else {
iphoneWebView.frame = CGRectMake(0, 44, 320, 372);
ipadWebView.frame = CGRectMake(0, 44, 916, 768);
}
它完成了工作。
于 2012-08-18T15:10:37.073 回答
0
隐藏其他视图后调用此函数
-(void) stretchView : (UIView *) view
{
[view setFrame:self.view.frame];
}
例如,[自我拉伸视图:viewForStretch];
(您也可以在拉伸视图时应用动画)
于 2012-08-17T18:54:48.520 回答