我们有一个iPhone应用程序,现在正在开发它作为通用应用程序。我们想要使用相同的视图,包括tableviews。在左侧,我们使用tableview进行导航,可以动态扩展,在右侧,我们的viewControllers基本上与iPhone相同。
由于设计和用户体验,我们不想拉伸它们来填充右侧的整个视图,我们希望它们在左侧和右侧以填充为中心。这个填充应该是动态的,因为如果左侧的菜单被扩展,填充应该减少。
我们试图通过覆盖单元格的setframe方法来实现,但它有点尴尬,在此之前尝试过你的某个人?
TIA
答案 0 :(得分:0)
在UIView
的顶级UIViewController
内,我会创建一个填充视图。
它是否达到superview
的整个宽度,根据需要增大/缩小,并将其固定在左侧和右侧。
在填充视图中,创建内容视图。使视图宽广,但不要让它在水平方向上重新调整尺寸,也不要将其固定在左侧或右侧。将其粘贴在填充视图的中心。
现在,如果你说...将填充视图向右移动并通过更改框架上的origin.x和size.width来缩小它,内部内容视图将保持固定大小并在填充视图中居中。这也可以在屏幕左侧或右侧的菜单中滑动。
根据评论进行修改: 如果您的内部内容视图是表格,但您想要最右侧的滚动条。
更改内部内容视图的frame.size.height
(UITableView
以匹配表格视图的contentSize.height
值。这将使表格与内容一样大。关闭垂直滚动。(注意:只要修改内容的高度,就必须更新表格视图的高度。)
不要让您的填充变为简单UIView
,而是将其设为UIScrollView
。
现在您的表格视图是静态高度,不滚动,没有滚动条。填充视图现在控制滚动,这意味着您可以通过触摸填充滚动以及在填充视图的右边缘具有滚动条。