ios – 将标签置于UIView中

前端之家收集整理的这篇文章主要介绍了ios – 将标签置于UIView中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在UIView中标注标签的最佳方法是什么?如果你做的事情如
UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(view.frame.origin.x / 2,view.frame.origin.y / 2,50.0,50.0)];

然后,您将标签的原点设置为视图的中心.最好的选择是使用center属性将视图的中心设置为该点.所以我尝试使用以下代码

UIView *aView = [[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];
aView.backgroundColor = [UIColor darkGrayColor];
CGRect frame = aView.frame;

UILabel *aLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,125.0f,30.0f)];
[aLabel setCenter:CGPointMake(frame.origin.x / 2,frame.origin.y / 2)];

这会产生一个标签,它几乎超出了左上角视图的范围.

解决方法

你做错的主要是取一半的原点值,而不是一半的大小

但是,在这种情况下,您甚至不需要计算 – 只需执行以下操作:

UIView *aView = [[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];
aView.backgroundColor = [UIColor darkGrayColor];

UILabel *aLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,125,30)];
aLabel.center = aView.center;

(注意,你不需要强制这些坐标浮动 – 在这种情况下,将它们写为int可能更具可读性).

此外,这是一个风格问题 – 但由于你已经在使用属性语法(aView.backgroundColor),你也可以将它用于中心属性:-)

猜你在找的iOS相关文章