我必须使用MTLabel Class来表示UILabel的行间距。
(参考示例代码:https://github.com/Tuszy/MTLabel)
但存在一些问题。
我正在制作iPad应用程序。此应用程序可以旋转 - 横向或纵向。
我将UILabel和MTLable对象放在没有IB的视图上。
每当设备的方向改变时,文本的宽度也会改变。
这个结果不是我想要的。
我的代码:
#import "MTLabel.h"
- (void)viewDidLoad
{
[super viewDidLoad];
MTLabel *TitleFont = [[MTLabel alloc] initWithFrame:CGRectMake(255, 60, 270, 60)];
[TitleFont setFont:[UIFont fontWithName:@"Arial" size:30.0]];
TitleFont.backgroundColor = [UIColor greenColor];
TitleFont.text = @"Happy! - 1";
TitleFont.autoresizingMask = UIViewAutoresizingFlexibleTopMargin& UIViewAutoresizingFlexibleLeftMargin&UIViewAutoresizingFlexibleRightMargin;
TitleFont.autoresizingMask= UIViewAutoresizingFlexibleWidth;
[self.view addSubview:TitleFont];
//----------------------
UILabel *TitleFont2 = [[UILabel alloc] initWithFrame:CGRectMake(255, 120, 270, 60)];
[TitleFont2 setFont:[UIFont fontWithName:@"Arial" size:30.0]];
TitleFont2.backgroundColor = [UIColor orangeColor];
TitleFont2.text = @"Happy! - 2";
TitleFont2.autoresizingMask = UIViewAutoresizingFlexibleTopMargin& UIViewAutoresizingFlexibleLeftMargin&UIViewAutoresizingFlexibleRightMargin;
TitleFont2.autoresizingMask= UIViewAutoresizingFlexibleWidth;
[self.view addSubview:TitleFont2];
}
结果: 1)肖像图像:
2)风景图片:
如果我使用UILabel类,没问题! 但我必须使用MTLabel类来获取UILabel的行间距。
请帮助我......谢谢。
答案 0 :(得分:1)
试试这个:
[TitleFont setContentMode:UIViewContentModeRedraw];
答案 1 :(得分:0)
你需要使用setNeedsDisplay踢MTLabel以正确地重新绘制新的大小。可能在didRotateFromOrientation中。
答案 2 :(得分:0)
[TitleFont setNeedsDisplay]
试试这个,它对我有用。
并确定你应该禁用setAutoresizesSubviews:<NO>