我们有一个iphone应用程序,现在正在开发通用应用程序。我们希望使用相同的视图,包括表视图。在左手边,我们使用一个可以动态扩展的表视图来导航,在右手边,我们有一个与iPhone基本相同的viewControllers。
由于设计和用户体验的原因,我们不想拉伸它们来填充右侧的整个视图,我们希望它们在左侧和右侧居中填充。这种填充应该是动态的,因为如果展开左侧的菜单,填充应该会减少。
我们试图通过覆盖单元格的setframe方法来实现,但这有点尴尬,你们中的一些人在做这样的事情之前尝试过吗?
提亚
发布于 2013-01-08 22:04:15
在我的UIViewController
的顶层UIView
中,我会创建一个填充视图。让它达到superview
的整个宽度,根据需要放大/缩小,并将其固定在左右两侧。
在填充视图中,创建您的内容视图。让视图有多宽就有多宽,不要水平地调整大小,也不要把它固定在左边或右边。将其放在填充视图的中心。
如果你说..。将填充视图向右移动并通过更改框架上的origin.x和size.width来缩小它,内部内容视图将保持固定大小并在填充视图中居中。这也会让你在屏幕的左侧或右侧滑入菜单。
基于注释进行编辑:如果您的内部内容视图是表格,但您希望滚动条位于最右侧,则为。
更改内部内容视图的frame.size.height
(UITableView
以匹配表视图的contentSize.height
值。这将使表格和内容一样大。关闭垂直滚动。(注意:每当修改内容的高度时,都必须更新表视图的高度。)
不是让你填充一个简单的UIView
,而是让它变成一个UIScrollView
。
现在您的表视图是静态高度,不会滚动,也不会有滚动条。填充视图现在可以控制滚动,这意味着您可以通过触摸填充来滚动,并且滚动条位于填充视图的右侧边缘。
https://stackoverflow.com/questions/14216154
复制相似问题