我是XCode / iOS的新手,我正试图弄清楚如何根据左侧(或右侧)移动标签,而不是中心。
我能找到的就是这样:
[myLabel setCenter:CGPointMake(x,y)];
我也见过这个变种:
myLabel.center=CGPointMake(x,y);
我的问题分为两部分:
如何做类似的事情,但不使用标签中心?
“。centter”是UILabel
对象的属性吗?例如,在MS / VB / C#/等中。对象有“.left,.right,.top,.bottom”用于定位 - 在iOS / Objective-C中有类似的东西吗?
答案 0 :(得分:3)
center
是UIView的属性,不,没有等效的left
,right
或其他什么。您需要手动进行计算:标签的左侧是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)
您可以使用center
或frame
来调整标签的位置。这些是UIView
的属性。
frame
返回CGRect
。 CGRect
由CGPoint
(来源)和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;