ios – 垂直对齐UILabel

我试图在我的应用程序的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];

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

相关文章

在有效期内的苹果开发者账号(类型为个人或者公司账号)。还...
Appuploader官网--IOS ipa上传发布工具,证书制作工具跨平台...
苹果在9月13号凌晨(北京时间)发布 iOS 16,该系统的设备可...
计算机图形学--OpenGL递归实现光线追踪
Xcode 14打出来的包在低版本系统运行时会崩溃,报错信息是Li...