0

我是 iOS 编程新手,也许我不完全理解UIScrollView. 根据我的研究,制作滚动视图的所有方法都包括将 aUIView或嵌入UIImageViewUIScrollView. 但是,我不知道是否有办法直接将对象(UILabelUIButton...)拖到UIScrollView. 如果 的大小UIScrollView设置为大于屏幕,则 上的所有内容UIScrollView都是可滚动的。再说一次,这就是我的全部想法,我没有找到任何帖子来证实或否认这一点。我认为如果可能的话,这是设置可滚动屏幕的最简单方法。

如果那不可能,谁能指出一种简单的方法来滚动一长串UIButtons (仅垂直)?我发现了很多教程,但大多数都是用于滚动 a 的UIImageView,我不能采用UIView包含 s 列表的方法UIButton。非常感谢你帮助我。

我处于 iOS 5 和情节提要模式。

4

4 回答 4

2

因为UIImageView, UILabel,UIButtonUIView您可以使用方法添加这些类的实例的后代addSubview:

您还需要正确设置视图的框架。

如果您希望可滚动内容大小大于屏幕大小,则需要将 scrollView.contentSize 设置为所需值。

于 2013-03-06T09:45:15.410 回答
1

有缘由。案例UILabelUIButton...是subClassUIView。您可以添加UIViewScrollView,也可以添加它们。这样做UIScrollView,因为它也来自UIView

使用View包含button让您轻松管理按钮。

您应该计算按钮的所有框架。如果它们具有相同的布局功能,您想使用tableView.

于 2013-03-06T09:47:35.650 回答
0

Scrollview非常适合documents, images, webviews, 等...

但是对于布局 UI 来说有点痛苦。

如果您只是buttons垂直布局,那么您可能希望查看使用UITableView来为您管理布局。

UITableView不仅仅是显示数据列表。

如果你想坚持,scrollView那么你可以创建一个新的UIViewnib 文件并使其成为你想要的完整大小。将所有按钮拖入其中,然后将其UIView放入您的scrollView使用代码中。

这样,您已经完成了 IB 拖动按钮的布局,但仍然使用代码将所有这些buttons等放入scrollview.

于 2013-03-06T09:43:10.783 回答
0

在情节提要中,我建议不要将 UILabel 等直接添加到滚动视图中。可以做到,但我发现在滚动视图的包含视图中直接只有一个视图(或非常少)更容易。特别是当单个视图大于屏幕时。

这就是为什么我建议创建一个普通的 UIView 对象。使用自由式大小在 IB 中绘制 UIView。那应该是滚动视图的唯一直接子视图。在该视图中,您可以轻松地排列和重新排列所有 ui 项目。但请确保您不使用自动布局,并且您的视图不会调整子视图的大小,并且滚动视图不会自动调整子视图的大小。否则,您正确布局的视图(应该大于屏幕)可能会被压缩到屏幕(分别是窗口的可用部分)尺寸中。

于 2013-03-06T10:09:33.057 回答