问题描述
- 中间subView与自动布局水平
- 有两个subView, UILabel 和 UIImageView 。我希望在一个view中水平中心显示。然后两个视图是挨着的,如下:
-------------------------------| Superview || || [label] [imageview] |-------------------------------
在两个view中还有一些空隙。不知道能不能在自动布局中实现?
解决方案
需要自己计算他们的frame.
总的思路是:先把它们添加到视图中去. 然后再重新计算得到它们的frame位置 .
这里主要是水平居中所以你需要计算得出它们的origin.x 的值. 这里需要计算出uilabel及uiimageview 的width再加上间距的值.即 label.frame.size.width+imageview.frame.size.width+space
CGFloat space=10; CGFloat summaryWidth=label.frame.size.width+imageview.frame.size.width+space;CGFloat posX=(self.view.frame-summaryWidth)/2;//reset frame.CGRect lblFrame=label.frame;lblFrame.origin.x=posX;label.frame=lblFrame;CGRect imgFrame=imageview.frame;imgFrame.origin.x=posX+label.frame.size.width+space;imageview.frame=imgFrame;
时间: 2024-09-22 08:51:47