设置UILabel的帧时,是否可以在代码中将其设置为superview的垂直和水平中心?

时间:2013-05-19 20:29:28

标签: ios objective-c uiview uilabel

赞,CGRectMake(),但它是否指定水平和垂直中心?

3 个答案:

答案 0 :(得分:3)

  1. 获取包含视图的尺寸。
  2. 获取要插入的视图的尺寸。
  3. x_position = width_of_containing_view / 2.0 - width_of_inserted_view / 2.0
  4. y_position = height_of_containing_view / 2.0 - height_of_inserted_view / 2.0

答案 1 :(得分:0)

你也可以label.center = [superview convertPoint:superview.center fromView:superview.superview]; = P

答案 2 :(得分:0)

将标签的center属性设置为其超级视图的bounds的中心点。由于superview的centerframe属性位于超级视图的坐标空间中,因此这些属性没有帮助(除非你像fumoboy那样进行转换)。

label.center = CGRectGetMidPoint(label.superview.bounds);

为方便起见我做了这个功能:

CGPoint CGRectGetMidPoint(CGRect rect)
{
    return CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect));
}