我是iOS编程新手,所以我希望它不是一个愚蠢的问题。我必须以编程方式在视图中添加十个不同的按钮。我知道如何以编程方式添加按钮,但我的按钮不适合视图,所以它们中的一些必须出现在视图的可视高度之下,所以我想添加按钮,以便用户可以向上和向下滑动移动视图。怎么办呢?
答案 0 :(得分:1)
有许多标准的UI元素UIKit可以帮助处理显示的内容,而不是屏幕可以在任何时间显示的内容:
您可能会受益于UICollectionView
提供的部分自动布局和格式,但从您的说明中可以看出,UIScrollView
或UITableView
最适合您的情景
UIScrollView
充当用户对其包含的基础视图的视口,默认情况下提供复杂的平移和缩放功能。它具有高度可配置性,如果您不需要,可以防止缩放功能。
只需确保将视图放在Interface Builder中的UIScrollView
内,然后设置contentSize
属性。设置大于contentSize
范围的UIScrollView
应该能够自动滚动。要启用缩放功能,您的UIViewController
会实施UIScrollViewDelegate:
@interface MYViewController : UIViewController <UIScrollViewDelegate>
@end
然后确保使用viewForZoomingInScrollView:
方法返回您的观点:
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return theViewContainingTheButtons;
}
UITableView
专门设计用于显示可以垂直滚动的项目列表,如果其内容高于视图的大小。
UITableView
由多个UITableViewCells组成,每个Table View Programming Guide for iOS都可以包含您希望显示的按钮之一。 Apple的{{3}}涵盖了UITableView
的大多数方面。
UITableView
方法专门针对您提出的问题,并忽略了托管按钮的视图中可能还有其他内容。这也意味着您必须更改现有的动态按钮放置代码并编写新代码以使用表视图。实际上,UIScrollView
很可能是您所寻找的,但我希望提供您可能没有意识到的可用于实现您所描述的其他UI元素的曝光。
答案 1 :(得分:0)
您需要使用一个名为UIScrollView的特殊元素。它会自动处理所有这些。这是文档的链接: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIScrollView_Class/Reference/UIScrollView.html
答案 2 :(得分:0)
您可以使用UIScrollView
。
不是将UIButton
添加到UIView
,而是添加到UIScrollView
并设置UIScrollView
contentSize
。
获取更多帮助:UIScrollView from Apple。