gpt4 book ai didi

ios - 在 UIView 中将标签居中

转载 作者:可可西里 更新时间:2023-11-01 03:04:48 25 4
gpt4 key购买 nike

UIView 中将标签居中的最佳方式是什么?如果你做一些事情,比如

UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(view.frame.origin.x / 2, view.frame.origin.y / 2, 50.0, 50.0)];

然后将标签的原点设置为 View 的中心。最好的办法是使用 center 属性将 View 的中心设置为该点。所以我尝试使用以下代码:

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

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

这会产生一个几乎位于左上角 View 边界之外的标签。

最佳答案

你做错的主要是取了一半的origin值,而不是一半的sizes

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


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

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

(请注意,您不需要强制这些坐标为 float - 在这种情况下将它们写为整数似乎更具可读性)。

此外,这是一个样式问题 - 但由于您已经在使用属性语法 (aView.backgroundColor),您也可以将它用于 center 属性:-)

关于ios - 在 UIView 中将标签居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/736287/

25 4 0