如何在不更改UILabel的水平位置的情况下垂直(y轴)将UILabel置于其父UIView中心?
以下不是它(它改变了x轴):
[self.label setCenter:CGPointMake(view.frame.size.width / 2, view.frame.size.height / 2)]
同样,我希望沿y轴居中。
答案 0 :(得分:1)
CGPoint center = self.label.center;
center.y = view.frame.size.height / 2;
[self.label setCenter:center];
答案 1 :(得分:0)
我宁愿建议在这种情况下应用autolayout约束。下面的约束将在父视图的中心垂直对齐。在第二个约束中,我将值20保持为x坐标。您可以用自己的值替换它。
NSLayoutConstraint *constraintY = [NSLayoutConstraint constraintWithItem:self.label attribute:NSLayoutAttributeCenterY
relatedBy:NSLayoutRelationEqual toItem:view
attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:0.0];
[view addConstraint:constraintY];
NSLayoutConstraint *constraintX = [NSLayoutConstraint constraintWithItem:self.label attribute:NSLayoutAttributeLeading
relatedBy:NSLayoutRelationEqual toItem:view
attribute:NSLayoutAttributeLeading multiplier:1.0 constant:20.0];
[view addConstraint:constraintX];