2013-01-08 96 views
0

我们有一个iPhone应用程序,现在正在开发它作为通用的应用程序。我们希望使用相同的视图,包括桌面视图。在左侧,我们使用的tableview用于导航,可以动态扩展并在右侧,我们的viewControllers与iPhone基本相同。UITableview改变填充动态

由于设计和用户体验我们不想拉伸它们以填充右侧的整个视图,我们希望它们以左侧和右侧的填充为中心。这个填充应该是动态的,因为如果左侧的菜单展开,填充应该减少。

我们试图通过覆盖单元格的setframe方法来实现,但它有点尴尬,在类似的东西之前尝试过你的某个人?

TIA

+0

使应用程序在iPad上可用,但在大多数情况下添加填充而不是使用额外的空间。除此之外,你是否使用自动布局? (因为它会影响我的回答) – DBD

+0

在这一点上,我们依赖于客户:/ ..不,我们不能,因为我们必须支持iOS 5.1 –

回答

0

里面的顶层我UIViewControllerUIView我想创建一个填充视图。 将它放在superview的整个宽度上,根据需要进行增长/收缩并将其固定在左侧和右侧。

在填充视图内部,创建您的内容视图。尽可能让视图变宽,不要重新调整水平尺寸,也不要将其固定在左侧或右侧。将其放在填充视图的中心。

现在,如果你说...将填充视图向右移动并通过更改框架上的origin.x和size.width缩小它,内部内容视图将保持固定大小并居中填充视图。这也将使您在屏幕左侧或右侧的菜单中滑动。

编辑基于评论: 如果你的内部内容视图是表格,但你想在最右侧的滚动条。 。

改变内心内容视图的frame.size.heightUITableView你表视图的contentSize.height值相匹配这将使表一样大的内容关闭垂直滚动(注意:你必须更新的高度你的表查看任何时间修改内容的高度。)

相反有你的填充简单UIView的,使它成为一个UIScrollView

现在你的表视图是一个静态的高度,并且不滚动,没有滚动条。填充视图现在控制滚动,这意味着您可以通过触摸填充以及hav来滚动填充视图右侧边缘的滚动条。

+0

好方法,但在这种情况下,滚动条将被固定在tableView如果居中且菜单在左侧未展开。我们的目标是滚动条始终停留在同一地点的右侧。 –

+0

Thx,我们会试试:)。 –