iOS:如何使用动态长度的文本实现设计



如何进行简单的设计,如下图中文本长度是动态的?在下图中,有两个部分的成分和说明与动态文本长度。可以有更多的部分。

我应该使用UIScrollView还是表视图的UIView?任何形式的帮助都将不胜感激。

尝试这种方法。

1。如果文本非常大,使用UITextView可以在UITextView内滚动文本。

2.获取文本视图的大小//返回IOS7和IOS6 的UITextView的大小

-(CGSize) getSizeWithMaxLabelSize:(CGSize) maxLabelSize forTextViewWithText:(NSString *) text  
{
    CGSize expectedLabelSize;
    CGSize maximumLabelSize = maxLabelSize;
    if (SYSTEM_VERSION_GREATER_THAN(@"6.2")) {
        NSDictionary *stringAttributes = [NSDictionary dictionaryWithObject:[UIFont   fontWithName:@"Arial" size:12] forKey: NSFontAttributeName];
        CGRect rect =[text boundingRectWithSize:maximumLabelSize options:NSStringDrawingUsesLineFragmentOrigin attributes:stringAttributes context:nil];
        expectedLabelSize = rect.size;
        expectedLabelSize.height = ceilf(expectedLabelSize.height);
        expectedLabelSize.width  = ceilf(expectedLabelSize.width);
} else {
       expectedLabelSize = [text sizeWithFont:[UIFont fontWithName:@"Arial"  size:EPCommentViewFontSize] constrainedToSize:maximumLabelSize  lineBreakMode:NSLineBreakByWordWrapping];
}    
       return expectedLabelSize;
}

3.在计算表格的单元格高度时使用此方法(2)- tableView:cellForRowAtIndexPath:

您应该选择UITextView/UILabelUIScrollView。如果内容不可编辑,并且不需要在固定区域滚动文本,则最好使用UILabel。

如果你的需求通过这些来满足,你需要使用UILabelUIScrollView

最新更新