如何使用左侧或右侧移动UILabel?

时间:2012-01-09 22:33:40

标签: iphone objective-c ios xcode

我是XCode / iOS的新手,我正试图弄清楚如何根据左侧(或右侧)移动标签,而不是中心。

我能找到的就是这样:

[myLabel setCenter:CGPointMake(x,y)];

我也见过这个变种:

myLabel.center=CGPointMake(x,y);

我的问题分为两部分:

  1. 如何做类似的事情,但不使用标签中心?

  2. “。centter”是UILabel对象的属性吗?例如,在MS / VB / C#/等中。对象有“.left,.right,.top,.bottom”用于定位 - 在iOS / Objective-C中有类似的东西吗?

3 个答案:

答案 0 :(得分:3)

center是UIView的属性,不,没有等效的leftright或其他什么。您需要手动进行计算:标签的左侧是label.frame.origin.x,右侧是label.frame.origin.x + label.frame.size.width。如果你想移动标签使其与特定坐标右对齐,那么你可以这样做:

label.frame = CGRectMake(100 - label.frame.size.width, label.frame.origin.y, label.frame.size.width, label.frame.size.height);

答案 1 :(得分:0)

您需要手动执行计算以查找要在以下代码中使用的X和Y坐标。

label.frame = CGRectMake(
label.frame.origin.x, label.frame.origin.y, 
label.frame.size.width, labelSize.height);

答案 2 :(得分:0)

您可以使用centerframe来调整标签的位置。这些是UIView的属性。

frame返回CGRectCGRectCGPoint(来源)和CGSize(大小)组成。原点指定视图的左坐标和顶坐标。

CGRect frame = label.frame;
label.origin.x = desiredLeft;
label.frame = frame;

CGRect frame = label.frame;
label.origin.x = desiredRight-label.size.width;
label.frame = frame;