加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 垂直对齐UILabel

发布时间:2020-12-15 01:51:08 所属栏目:百科 来源:网络整理
导读:我试图在我的应用程序的UILabel视图中垂直对齐文本.问题是我希望文本垂直对齐顶部,标签大小为280 x 150.我只能实现这两件事之一.如果我删除该行 [myLabel sizeToFit]; 然后文本的对齐没问题,但是大小搞砸了.但是如果我添加上面的行,那么对齐就搞砸了但是大小
我试图在我的应用程序的UILabel视图中垂直对齐文本.问题是我希望文本垂直对齐顶部,标签大小为280 x 150.我只能实现这两件事之一.如果我删除该行

[myLabel sizeToFit];

然后文本的对齐没问题,但是大小搞砸了.但是如果我添加上面的行,那么对齐就搞砸了但是大小没问题.我该如何解决这个问题.

我在下面添加了代码 –

CGRect labelFrame = CGRectMake(22,50,280,150);
UILabel *myLabel = [[UILabel alloc] initWithFrame:labelFrame];
[myLabel setText:finalRecipe];
[myLabel setBackgroundColor: [UIColor lightGrayColor]];
[myLabel setNumberOfLines:0];
[myLabel sizeToFit];
[self.view addSubview:myLabel];

解决方法

我是FXLabel的作者,虽然我不认识Manish,但我相信他正在努力帮助(如果他在为我做广告,我当然没有要求他,而且我没有付钱给他 – 抱歉马尼什!).

FXLabel的一个特性是它尊重标签的UIContentMode属性,如“接口”构建器中所设置的那样.这意味着你可以设置label.contentMode = UIViewContentModeTop;将文本对齐到标签视图的顶部(这对常规UILabel不起作用).相关的例子在这里:

07000

FXLabel是UILabel的一个子类,所以我认为对于提出的问题来说这是一个非常好的解决方案.但是,如果海??报宁愿在不使用第三方库的情况下解决问题(这是可以理解的),那么这里是代码:

CGRect labelFrame = CGRectMake(22,150);
UILabel *myLabel = [[UILabel alloc] initWithFrame:labelFrame];
[myLabel setText:finalRecipe];
[myLabel setBackgroundColor: [UIColor lightGrayColor]];
[myLabel setNumberOfLines:0];

CGFloat fontSize = 0.0f;
labelFrame.size = [myLabel.text sizeWithFont:myLabel.font
                                minFontSize:myLabel.minimumFontSize
                             actualFontSize:&fontSize
                                   forWidth:labelFrame.width
                            lineBreakMode:myLabel.lineBreakMode];

myLabel.frame = labelFrame;
[self.view addSubview:myLabel];

注意:(这是未经测试的,如果有任何拼写错误,请道歉)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读