UIview清除区域

时间:2013-01-14 12:22:10

标签: ios5 uiviewcontroller ios6 iphone-5 ios4

这是一个继承的代码,我想尽可能少地改变,只需支持iphone5(taler)屏幕大小。

某处我有这样的代码:

[self.view addSubview:leftSwipedViewController.view];

问题是:父UIViewController填写了480x2 - > 568x2区域(iphone4和iphone5之间的区别)新的刷卡UIController将填充0-> 480x2高度区域。我想用漂亮的白色清除剩余的空间。怎么做?

类似于[self.view clearRectangle(0,568-480,320,568, color.white)];,但此功能不存在。

有没有更好,更快的解决方案? - 我不想为组件从代码中放置到X,Y坐标的代码创建一个xib文件。

1 个答案:

答案 0 :(得分:1)

是的,实际上非常简单

在添加视图之前,请执行以下操作:

UIView *whiteView = [[UIView alloc] initWithFrame:self.view.bounds];
whiteView.tag = 123; // you'll need it if you want to remove it later.
whiteView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:whiteView];

[self.view addSubview:leftSwipedViewController.view];

如果要删除它,请执行以下操作:

[[self.view viewWithTag:123] removeFromSuperview];

然而,正确的方法是让你的leftSwipedViewController支持两种高度