我在我的项目中使用TTStyledTextLabel
来解析超链接,一切正常。我面临的唯一问题是截断一个长文本 - 如果文本不适合TTStyledTextLabel
的范围,则显示省略号。
换句话说,我需要与UILabel相同的行为,它添加了省略号以指示某些文本被剪裁。我在TTStyledTextLabel
和TTStyledText
课程中搜索过,没有任何规定来实现这一目标。以下是我在UITableViewCell
子类中使用的代码,用于正确设置TTStyledTextLabel
的框架:
-(void) layoutSubviews
{
[super layoutSubviews];
.
.
.
CGSize maxSize = CGSizeMake(self.contentView.frame.size.width -TEXT_OFFSET_WIDTH, TT_TEXT_MAX_HEIGHT);
[[[self textLabelTTStyled] text] setWidth:maxSize.width];
[[self textLabelTTStyled] sizeToFit];
double heigthForTTLabel = [[[self textLabelTTStyled] text] height];
if (heigthForTTLabel > maxSize.height)
heigthForTTLabel = maxSize.height; // Do not exceed the maximum height for the TTStyledTextLabel.
**// The Text was supposed to clip here when maximum height is set!**
CGSize mTempSize = CGSizeMake([[[self textLabelTTStyled] text] width], heigthForTTLabel);
CGRect frame = CGRectMake(TEXT_OFFSET_X,TEXT_OFFSET_Y,mTempSize.width, mTempSize.height);
self.textLabelTTStyled.frame = frame;
.
.
.
}
在tableView:cellForRowAtIndexPath:
我正在设置这样的文字到我的TTStyledTextLabel
:
TTStyledText *styledStatusMessage = [TTStyledText textFromXHTML:@"This is a really long text, how long can this go on? This is a really long text, how long can this go on? This is a really long text, how long can this go on? This is a really long text, how long can this go on? This is a really long text, how long can this go on? This is a really long text, how long can this go on?"
lineBreaks:YES URLs:YES];
if (nil == styledStatusMessage) {
styledStatusMessage = [TTStyledText textWithURLs:[statusMessage title] lineBreaks:YES];
[[cell textLabelTTStyled] setText:styledStatusMessage];
}
简单地丢弃过多的文本,默认情况下不添加省略号以指示文本被剪切。解决这个问题的方法是什么?
谢谢, 拉吉
答案 0 :(得分:-1)
我相信你正在使用私人api Three20,它有机会拒绝appstore.Just在你上传之前检查一次。 一般来说,你可以设置任何设置任何自定义按钮设置标题
[button setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft]; [button setTitleEdgeInsets:UIEdgeInsetsMake(0.0,10.0,0.0,0.0)]; - 此行可用于设置标题边缘。希望它有所帮助。