我是iOS编程新手,也许我不完全理解UIScrollView
。根据我所研究的内容,制作滚动视图的所有方法都包括将UIView
或UIImageView
嵌入到UIScrollView
中。但是,我不知道是否有办法将对象(UILabel
,UIButton
...)直接拖到UIScrollView
。如果UIScrollView
的大小设置为大于屏幕,那么UIScrollView
上的所有内容都是可滚动的。再一次,这是我的所有想法,我没有找到任何帖子来确认或否认这一点。我认为如果可行,那么它是设置可滚动屏幕的最简单方法。
如果那不可能,那么有人能指出一种简单的方法来滚动UIButton
的长列表(仅垂直)吗?我找到了很多教程,但大部分用于滚动UIImageView
,我无法将该方法用于包含UIView
列表的UIButton
。非常感谢帮助我。
我在iOS 5和故事板模式下。
答案 0 :(得分:2)
由于UIImageView
,UILabel
,UIButton
是UIView
的后代,您可以使用addSubview:
方法添加这些类的实例。
您还需要正确设置视图的帧。
如果您希望滚动内容大小大于屏幕大小,则需要将scrollView.contentSize设置为所需值。
答案 1 :(得分:1)
原因。案例UILabel
,UIButton
...是subClass
的{{1}}。您可以将UIView
添加到UIView
,也可以添加ScrollView
,也可以UIScrollView
,因为它也来自UIView
。
使用View
包含button
,您可以轻松管理按钮。
你应该计算按钮的所有帧。如果它们有相同的布局功能,你想使用tableView
。
答案 2 :(得分:0)
Scrollview
非常适合documents
,images
,webviews
等...
但是对于布局用户界面来说,这有点痛苦。
如果您只是垂直布置buttons
,那么您可能希望使用UITableView
来管理布局。
UITableView
不仅仅是显示数据列表。
如果您想坚持使用scrollView
,那么您可以创建一个新的UIView
nib文件并将其设置为您想要的完整大小。将所有按钮拖入其中,然后使用代码将UIView
放入scrollView
。
通过IB拖动按钮,您仍然使用代码将所有buttons
等放入scrollview
。
答案 3 :(得分:0)
在故事板中,我建议不要直接在滚动视图中添加UILabel等。它可以完成,但我发现直接在滚动视图的包含视图中只有一个视图(或非常fiew)更容易。特别是当单个视图大于屏幕时。
这就是为什么我建议创建一个简单的UIView对象。使用自由式大小在IB中绘制UIView。这应该是滚动视图的唯一直接子视图。在该视图中,您可以轻松排列和重新排列所有ui项目。但请确保您不使用autolayout并且您的视图不会调整子视图的大小,并且滚动视图不会自动调整子视图的大小。否则,应该比屏幕大的适当的布局视图可以被静音到屏幕(分别是窗口的可用部分)尺寸中。