出于某种原因,UILabel 的文本想要在没有动画的情况下设置其对齐方式,我无法弄清楚如何让文本与标签的其余部分一起动画。
我现在有以下代码:
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(40,200,100,50)];
[label setText:@"Label Name"];
[label setBackgroundColor:[UIColor blueColor]];
[label setFont:[UIFont systemFontOfSize:17.0]];
[label setTextColor:[UIColor blackColor]];
[label setTextAlignment:NSTextAlignmentCenter];
[self.view addSubview:label];
[UIView animateWithDuration:3 animations:^{
[label setFrame:CGRectMake(40,200,200,300)];
}];
此代码在按钮的操作方法中调用。通常动画将与标签的创建分开发生,但我将其放在相同的方法中进行测试。
由于某种原因,当它运行时,标签会按预期完美调整大小,我可以看到框架调整大小。但是,文本会在水平轴上与动画结束时的位置对齐。但是,在垂直轴上,它的动画效果很好。
现在这是动画的样子:
出于某种原因,标签的文本在上下移动时保持居中,但不会像我认为的那样保持左右居中。
我看了一遍,找不到解决这个问题的方法。有谁知道 UILabel 的行为是这样的,是否有任何解决方法?