我如何在他们的超级浏览中心放置相同大小的uiviews数组?
例如:我有一个(x号)50x50大小的视图数组..我将它们紧挨着放在一行中。如何将50x50视图的中心放在超视图的中心?
是否有比我想的更容易的方式?
我的方法是将数组内的视图计数,然后乘以50.这样可以得到图像的宽度。
然后从超视图的宽度中减去该宽度。然后根据该数学放置子视图。
有更简单的方法可以做到这一点吗?
答案 0 :(得分:1)
你所建议的是一种做法。另一种在旋转设备时保持视图居中的方法是:
bounds
属性设置为(0,0,50 * x,50)center
属性设置为superview的中心autoresizingMask
属性设置为UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin
答案 1 :(得分:1)
使用UIView的中心属性
Apple文档说:中心属性可用于调整视图的位置而不改变其大小。
所以你会做这样的事情:
创建一个UIView,其中包含宽度为[array count] x 50的所有50x50视图; 然后将所有50x50视图添加到此容器视图。 将此视图添加到所需视图,然后将其中心点设置为其超视图中心点。
这样的事情:
[my50x50ContainerView setFrame:CGRectMake(0.0, 0.0, [50x050ViewsArray count] x 50, 50.0)];
[self.view addSubview:my50x50ContainerView];
my50x50ContainerView.center = self.view.center;