代码之家  ›  专栏  ›  技术社区  ›  phi

如何重新定位尺寸动态变化的UILabels和uiImageView?

  •  1
  • phi  · 技术社区  · 14 年前

    UITableView 有很多行 DetailViewController UIImageView UILabels (比如书的描述、书评等)。在 viewWillAppear 我将适当的内容分配给这些出口,以便显示所选行的内容。我的问题是课文可能是一句话,也可能是几段话。所以,如果我有一个出口用于书籍描述,另一个出口用于书籍评论,我应该如何正确定位这些组件,使它们的水平距离始终相同?我想创造一个 UIWebView

    如果有帮助的话,这里有一个可视化的东西:)

    ------------------------------
    |  Description               |
    |  [multiple lines go here]  |
    |                            |
    |  [Image]                   |
    |                            |
    |  Comments                  |
    |  [multiple lines go here]  |
    ------------------------------
    
    2 回复  |  直到 14 年前
        1
  •  3
  •   Jordan    14 年前

    在布局UITableView时,如果使用UILabels作为描述和注释,则可以使用以下内容计算大小:

    CGSize labelSize = [nameLabel.text sizeWithFont: nameLabel.font 
                                    constrainedToSize: CGSizeMake( actualWidth, MAXFLOAT ) 
                                        lineBreakMode: UILineBreakModeWordWrap];
    

    一旦知道了描述的高度(例如,可以使用CGRect等适当地定位UIImageView),然后使用以下方法计算UITableView行的高度:

    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    
        2
  •  1
  •   tc.    14 年前