在我的iOS应用中,我在另一个视图中定义了三个Web视图。可能不会总是使用两个Web视图,是否有办法让其余视图填充屏幕的其余部分?当您使用“fill_parent”时,Android中的等效项将是。
现在,我正在通过更改框架来完成所有工作,这确实很麻烦。
// There is no top banner, but it does use the footer
topBannerView.frame = CGRectMake(0, 0, 320, 0);
mainView.frame = CGRectMake(0, 0, 320, 400);
footerView.frame = CGRectMake(0, 400, 320, 60);
有没有一种方法可以使mainView使用屏幕的其余部分而无需显式设置框架?
最佳答案
除了对值进行硬编码之外,您还可以在其中添加一些代码,以查看所显示内容的大小,并根据该大小计算视图的大小。它可能看起来像:
if(!topBannerView.hidden)
{
topBannerHeight = topBannerView.bounds.size.height; //syntax here might be a little off, can't test code right now, but I think it's close to this
}
else
{
topBannerHeight = 0;
}
对其他2个视图重复上述操作,然后
topBannerView.frame = CGRectMake(0, 0, 320, topBannerHeight);
mainView.frame = CGRectMake(0, topBannerHeight, 320, mainViewHeight);
footerView.frame = CGRectMake(0, (mainViewHeight+topBannerHeight), 320, footerViewHeight);
这种方法仍然有点笨拙,但是如果您将来要调整大小,它会更好一些。
编辑:我清理了语法,它现在应该正确。