gpt4 book ai didi

ios - 当字符长度发生变化时,让 UILabel 在 UIView 中居中。 iOS, Objective-C

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

我有一个位于屏幕中央的 UILabel。数值最多可以包含三位数字。例如 500。

我的问题是,当值发生变化时,它会使 UILabel 本身偏离中心。

在下图中,您会看到当值等于 3 位数字时, slider 标签看起来居中,而当 slider 标签值为 12 时,标签看起来偏离中心。

我需要 UILabel 调整自身以始终在 UIView 中居中。

我已经尝试将下面的代码添加到我的 UILabel 中,但没有成功。

enter image description here enter image description here

self.myCircleSliderValueLabel.font = sliderValueFont;
self.myCircleSliderValueLabel.textColor = [UIColor colorWithRed:103/255.0 green:187/255.0 blue:230/255.0 alpha:1.0];;
self.myCircleSliderValueLabel.numberOfLines = 0;
self.myCircleSliderValueLabel.lineBreakMode = NSLineBreakByWordWrapping;
self.myCircleSliderValueLabel.text = @"400";
[self.myCircleSlider addSubview:self.myCircleSliderValueLabel];

self.myCircleSliderValueLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;

最佳答案

最简单和最快的方法是为您的 myCircleSliderValueLabel 设置固定宽度(以容纳所有三位数字)并将 textAlignment 属性设置为 NSTextAlignmentCenter .

编辑:

或者您可以使用自动布局。像这样的……

NSLayoutConstraint *con = [NSLayoutConstraint
constrainWithItem:self.myCircleSliderValueLabel
attribute:NSLayoutAttributeCenterX // It says that X center
relatedBy:NSLayoutRelationEqual // Should equal
toItem:self.myCircleSliderValueLabel.superview // To your label superview's...
attribute:NSLayoutAttributeCenterX // ... X center
multiplier:1.0
constant:0.0];

关于ios - 当字符长度发生变化时,让 UILabel 在 UIView 中居中。 iOS, Objective-C ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22378939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com