我已经创建了UItablevIEwCell(FeedCell)的子类.有一个图像和两个标签.
问题是我需要多线的标签不会出现多线.
我用autolayot.
这是一个显示用户twitterFeed的应用程序.
我的代码:
- (UItableVIEwCell *)tableVIEw:(UItableVIEw *)tableVIEw cellForRowAtIndexPath:(NSIndexPath *)indexPath {static Nsstring *CellIDentifIEr = @"Cell";FeedCell *tweetCell = [tableVIEw dequeueReusableCellWithIDentifIEr:CellIDentifIEr];if (tweetCell == nil) { tweetCell = [[FeedCell alloc] initWithStyle:UItableVIEwCellStyleDefault reuseIDentifIEr:CellIDentifIEr]; [tweetCell.tweetText setNumberOflines:0]; [tweetCell.tweetText setlineBreakMode:NSlineBreakByWorDWrapPing]; [tweetCell.tweetText setFont:[self FontForCell] ];}NSDictionary *tweet = _dataSource[[indexPath row]];Nsstring *tweetString = [tweet valueForKey:@"text"];tweetCell.name.text =[tweet valueForKeyPath:@"user.name"];[tweetCell.tweetText setText:tweetString];return tweetCell;
}
我还设置了heigthforRowAtIndexPath:
- (CGfloat)tableVIEw:(UItableVIEw *)tableVIEw heightForRowAtIndexPath:(NSIndexPath *)indexPath {NSDictionary *tweet = _dataSource[[indexPath row]];Nsstring *theText=[tweet valueForKey:@"text"];UIFont *cellFont = [self FontForCell];CGSize constraintSize = CGSizeMake(280.0f,MAXfloat);CGSize labelSize = [theText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSlineBreakByWorDWrapPing];return labelSize.height + 20;
}
问题是tweet cell.tweetText没有显示多行.我没有尝试过另一个CellStyle(我使用自定义cellstyle).
有人提示吗?
解决方法 对于多行使用以下内容:tweetCell.tweetText.numberOflines = 0;[tweetCell.tweetText sizetoFit];
出于测试目的,在以下方法中将行的高度设置为46.0f:
- (CGfloat)tableVIEw:(UItableVIEw *)tableVIEw heightForRowAtIndexPath:(NSIndexPath *)indexPath{
我无法修复高度问题,但这确实给了我一个多线的UILabel
总结以上是内存溢出为你收集整理的ios – 自定义UITableviewCell中标签的多行全部内容,希望文章能够帮你解决ios – 自定义UITableviewCell中标签的多行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)