我在使用包含多个 subview 的 UIScrollView 时遇到问题。其中一个具有根据文本长度动态计算的高度,并在其变得更高时将下面的内容向下推。
这是这个应用的安卓版本截图:
绿色标题下的描述 View 是描述超过一行时改变高度的 View 。这意味着我不能在所有 View 上使用高度约束,这似乎是 UIScrollView 在 Storyboard 中使用自动布局时起作用的原因。
从包含多个 subview 的 Storyboard 中将 UIScrollView 放入 UIViewController 的最佳方法是什么,如上面的屏幕截图,可以在所有屏幕宽度(iPhone 4、iPhone 5、iPhone 6 等)上,并允许 View 在保持其相对于其他 View 的位置的同时改变高度?
这就是我的 Storyboard和这个特定的 View Controller 的样子:
Best Answer-推荐答案 strong>
执行此操作的“iOS 方式”是使用 UITableViewController (它又是 UIScrollView 子类)。
您可以使用 Storyboard和原型(prototype)单元轻松创建一个。
至于高度,您可以使用引用 UILabel 并在 TableView 委托(delegate)的 tableView:heightForRowAtIndexPath: 上返回其 textRectForBounds:limitedToNumberOfLines: , 传递 0 作为行数。
您也可以查看this library我们使用以及它如何处理dynamic heights .
关于iOS 8 – UIScrollView 与具有动态高度的 child ,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/26474099/
|