如何将任何子视图水平居中在其父UIview中,而不是垂直居中。我尝试了 child.center = parent.center
但它会将我的子视图水平和垂直都放在父视图的中心。如何将其仅水平对齐在中心位置。谢谢。
如何将任何子视图水平居中在其父UIview中,而不是垂直居中。我尝试了 child.center = parent.center
但它会将我的子视图水平和垂直都放在父视图的中心。如何将其仅水平对齐在中心位置。谢谢。
像这样仅更改中心可能会有所帮助
child.center = CGPointMake(CGRectGetMidX(parentView.bounds), child.center.y);
parent.center.x
作为第一个值。 - ChrisH您不能直接修改UIViewController
的center
属性中的x
值,但可以采取以下措施:
CGPoint center = child.center;
center.x = parent.center.x;
child.center = center;
subview.frame = CGRectMake(((parentView.frame.size.width/2)-(subview.frame.size.width/2)),subview.frame.origin.y,subview.frame.size.width,subview.frame.size.height);
我需要在每个不同的设备尺寸上水平居中(但不是垂直)一个UIImageView,所以我使用了这个方法,效果很好:
CGRect screenRect = [[UIScreen mainScreen] bounds];
[self.myImageView setCenter:CGPointMake(CGRectGetMidX(screenRect), self.myImageView.frame.origin.y + self.myImageView.frame.size.height/2)];