在IOS应用程序中,我在滚动视图中有一个标签,其中包含我在下面描述的属性
self.detailMainLabel?.numberOfLines = 0
self.detailMainLabel?.lineBreakMode = .ByWordWrapping
self.detailMainLabel?.sizeToFit()
高度限制:
Relation = Greater than or equal
当我运行应用程序时,标签会根据文本自动自动展开。 但是我想知道我能做些什么来实现"显示更多"或"显示更少"链接在文本标签的末尾以展开或缩小高度。
有任何想法或建议吗?
答案 0 :(得分:8)
首先,您必须将行数设置为1或2,以便显示更多按钮。 像
for it in j:
it['nation'] = u'malaysia'
然后显示更多按钮点击设置
self.detailMainLabel?.numberOfLines = 2
self.detailMainLabel?.lineBreakMode = .ByWordWrapping
self.detailMainLabel?.sizeToFit()
再次显示较少按钮单击将行数设置为2。 如果你使用一个按钮显示较少并显示更多也保持一个布尔标志。
答案 1 :(得分:0)
https://github.com/TTTAttributedLabel/TTTAttributedLabel
#import "TTTAttributedLabel.h"
IBOutlet TTTAttributedLabel * lblname;
// Expand Button Press
- (IBAction)btnforexpande:(id)sender
{
if (expande == 1 ){
NSString *strText = @“STRING”;
NSAttributedString *attString = [[NSAttributedString alloc] initWithString:strText attributes:
@{
(id)kCTForegroundColorAttributeName : (id)[UIColor blackColor].CGColor,
NSFontAttributeName : [UIFont boldSystemFontOfSize:13],
}];
lblname.text = attString;
lblname.numberOfLines = 1;
lblname.lineBreakMode=NSLineBreakByTruncatingTail;
NSAttributedString *showMore = [[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"..+more"] attributes:
@{
NSForegroundColorAttributeName:[UIColor blackColor],
NSBackgroundColorAttributeName:[UIColor colorWithRed:233.0f/255.0f green:233.0f/255.0f blue:233.0f/255.0f alpha:1.0f],
NSFontAttributeName : [UIFont boldSystemFontOfSize:13],
}];
[lblname setAttributedTruncationToken:showMore];
[lblname sizeToFit];
}
else{
// Expand
lblname.numberOfLines = 0;
lblname.lineBreakMode=NSLineBreakByWordWrapping;
CGSize sizeTitle1 = [lblcc.attributedText boundingRectWithSize:CGSizeMake(lblcc.frame.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin context:nil].size;
_lblccHight.constant = sizeTitle1.height;
}
}