UITableview动态改变填充



我们有一个iphone应用程序,现在正在开发它作为通用应用程序。我们想使用相同的视图,包括表视图。在左边,我们使用tableview用于导航它可以动态展开在右边,我们有viewcontroller基本上和iPhone一样。

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

我们试图通过覆盖单元格的setframe方法来实现,但这有点尴尬,你们中有人尝试过这样的事情吗?

tia

UIViewController的顶层UIView中,我创建了一个填充视图。让它去superview的全宽度,根据需要生长/收缩,并将其固定在左侧和右侧。

在padding视图中,创建内容视图。无论你想让视图有多宽,不要让它水平调整大小,也不要把它固定在左边或右边。把它放在填充视图的中心

现在如果你说…将填充视图向右移动,并通过更改原点来缩小它。X和尺寸。宽度,内部内容视图将保持固定大小,并在填充视图中居中。这也可以让你在屏幕的左边或右边滑动菜单。

基于注释编辑:如果您的内部内容视图是表格,但您希望滚动条在最右边。

更改内部内容视图的frame.size.height (UITableView)以匹配表视图的contentSize.height值。这将使表格与内容一样大。关闭垂直滚动。(注意:当你修改内容的高度时,你必须更新你的表视图的高度。)

不要使用简单的UIView填充,而是使用UIScrollView填充。

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

最新更新