学习UIScrollView的基础知识

时间:2009-10-20 15:17:43

标签: iphone objective-c iphone-sdk-3.0 uiscrollview

我一直很难找到UIScrollView的好例子。即使是Apple的UIScrollView Suite,我也有点缺乏。

我正在寻找一个教程或示例集,向我展示如何创建类似于iPhone Safari选项卡滚动的内容,当您从一个浏览器窗口缩小并可以轻弹到其他浏览器时。

但是我很难在滚动视图中显示任何旧视图。我有一个带有图像的视图,但是当我将它添加到滚动视图时,无论我在添加的视图中放置什么,我都只会得到一个黑色矩形。

任何链接或代码段都会很棒!

3 个答案:

答案 0 :(得分:46)

这是scroll view guide from Apple

基本步骤是:

  1. 创建一个UIScrollView和一个您想要放入的内容视图(在您的情况下为UIImageView)。
  2. 使内容视图成为滚动视图的子视图。
  3. 将scrollview的内容大小设置为内容视图的帧大小。 这是人们经常忽略的一个非常重要的步骤。
  4. 将滚动视图放在某处的窗口中。
  5. 对于分页行为,请查看UIScrollView的pagingEnabled属性。如果您需要滚动少于一整页,则需要使用clipsToBounds进行操作,与this StackOverflow question中发生的情况相反。

答案 1 :(得分:16)

UIScrollView *scrollview = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 

NSInteger viewcount= 4; 
for (int i = 0; i <viewcount; i++) 
{ 
CGFloat y = i * self.view.frame.size.height; 
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, y,self.view.frame.size.width, self .view.frame.size.height)];      
view.backgroundColor = [UIColor greenColor]; 
[scrollview addSubview:view]; 
[view release]; 
}
scrollview.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height *viewcount); 

了解更多信息Create UIScrollView programmatically

答案 2 :(得分:4)

2013年3月26日新 我偶然发现了一种更简单的方法,无需代码(contentSize)

https://stackoverflow.com/a/15649607/1705353