iphone - 如何重新定位尺寸动态变化的 UILabel 和 UIImageView?

标签 iphone layout interface-builder ios

我有一个 UITableView有许多行插入 DetailViewController取决于选择。此详细 View 包含 UIImageView ,还有几个 UILabels (比如说书的描述、书评等)。在 viewWillAppear我将适当的内容分配给这些 socket ,以便显示所选行的内容。我的问题是文本可能是一个句子或几段。那么,如果我有一个用于书籍描述和另一个用于书籍评论的导出,我应该如何正确定位这些组件,以使它们的水平距离始终相同?我想创建一个 UIWebView并在那里加载动态生成的 HTML,但必须有一种更清洁的方式,对吧?

如果有帮助,这是一个视觉效果:)

------------------------------
|  Description               |
|  [multiple lines go here]  |
|                            |
|  [Image]                   |
|                            |
|  Comments                  |
|  [multiple lines go here]  |
------------------------------

最佳答案

当你布局你的 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

关于iphone - 如何重新定位尺寸动态变化的 UILabel 和 UIImageView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3845847/

相关文章:

iphone - iPad 目录应用程序

ios - 接口(interface)生成器 "view - image view"关系

xcode - iOS应用程序中确实需要MainWindow.xib吗?

iphone - 如何在iPhone上将sqlite ReadOnly更改为ReadWrite?

iphone - 如何编写应用程序测试来测试按下按钮时是否显示特定 View ?

iphone - 更改 iOS 应用的产品名称后出现代码签名错误

android - 以编程方式设置布局大小真的可以节省性能吗?

android - 计算布局后如何获取Android小部件的大小?

android - 折叠布局行为在垂直 View 寻呼机内无法正常工作

iphone - UIImageView 中具有 3 种分辨率的背景