[英]How to make a label display multiple lines before the leading constraint of another label?
[英]How to display a UIButton label on multiple lines?
我知道在SO上对此有一些疑问,我已经尝试过了,但是没有用,这就是为什么我现在要发布。
基本上,我在UIButton的titleLabel中包含一个NSDate。 标签包含包含“星期几”,并附加到“星期几”,我想在第一行显示“星期几”,在第二行显示“星期几”,如下所示:
但是,它始终显示在同一行上:Thursday 11 27
这是我在viewDidLoad中的代码:
NSMutableString *appendedDate= [NSMutableString stringWithCapacity: 20];
NSDateFormatter *nowDateFormat = [ [NSDateFormatter alloc] init];
[nowDateFormat setDateFormat:@"MM dd"];
NSDate *date = [[NSDate alloc] init];
NSString *theDateNow = [nowDateFormat stringFromDate:date];
NSDateFormatter *dateFormatter = [ [NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE"];
[appendedDate appendString:[dateFormatter stringFromDate:[NSDate date]]];
[appendedDate appendString:@" "];
[appendedDate appendString:theDateNow];
[self.todaysDate setTitle:appendedDate forState:UIControlStateNormal];
self.todaysDate.titleLabel.numberOfLines = 0;
self.todaysDate.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
我试图缩小UIButton的宽度,以查看是否可以包装下一个单词或字符,但仍保持在同一行。
我该如何实现?
你几乎是对的。 您只需要此[appendedDate appendString:@“ \\ n”]; 代替[appendedDate appendString:@“”];
试试这个代码。
NSMutableString *appendedDate= [NSMutableString stringWithCapacity: 20];
NSDateFormatter *nowDateFormat = [ [NSDateFormatter alloc] init];
[nowDateFormat setDateFormat:@"MMM dd"];
NSDate *date = [[NSDate alloc] init];
NSString *theDateNow = [nowDateFormat stringFromDate:date];
NSDateFormatter *dateFormatter = [ [NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE"];
[appendedDate appendString:[dateFormatter stringFromDate:[NSDate date]]];
[appendedDate appendString:@"\n"];
[appendedDate appendString:theDateNow];
[self.todaysDate setTitle:appendedDate forState:UIControlStateNormal];
self.todaysDate.titleLabel.numberOfLines = 0;
CGSize buttonSize = [ self.todaysDate.titleLabel.text sizeWithAttributes:@{NSFontAttributeName:self.todaysDate.titleLabel.font}];
self.todaysDate.frame = CGRectMake(
self.todaysDate.frame.origin.x, self.todaysDate.frame.origin.y,
self.todaysDate.frame.size.width, buttonSize.height);
注意:确保您的按钮具有足够的宽度以用作“日期”名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.