2011-10-25 109 views
0

我为我的一个视图控制器设置了一个ScrollView作为根视图。当我从“界面”构建器中拖动滚动视图时,滚动出现初始大小为220x120。ScrollView内容大小不起作用

在该视图控制器viewDidLoad方法中,我有这个代码。

UIImage *iphone = [UIImage imageNamed:@"iphone4s.jpg"]; 
imageview = [[UIImageView alloc] initWithImage:iphone]; 
[self.view addSubview:imageview]; 


[(UIScrollView*)self.view setContentSize:[iphone size]]; 

iphone图片大小为600x800。

但是当视图加载到屏幕上时,滚动视图的大小仍然是220x120。我应该做其他任何事情来扩展scrollView。请帮忙。

回答

0

属性contentSize与UIScrollView的大小是不一样的。通常你会为了有更大的内容大小以能够滚动:

+-------------------+ 
|x------------+  | 
||   |  | 
||   |  | 
|+------------+  | 
|     | 
|     | 
+-------------------+ 

在这个小品的内部矩形是滚动视图大小(你的220x120),你在屏幕上看到,虽然外矩形是对象的实际大小(在您的情况下为600x800)。操作contentOffset点(图中的x),您可以更改对象的哪个部分可见。

如果您不需要图像可滚动,则根本不需要UIScrollView。尝试使用UIImageView,更改它的frame并检查其contentMode属性的不同值。

此外,不要忘记,视图可以自动调整其大小。

1

试试这个 `

UIImage *iphone = [UIImage imageNamed:@"iphone4s.jpg"]; 
imageview = [[UIImageView alloc] initWithImage:iphone]; 
[self.view addSubview:imageview]; 
self.view.frame = CGRectMake(0, 20, 320, 460); 

[(UIScrollView*)self.view setContentSize:[iphone size]]; 

` 如果这会为你工作 - 只是伸展它的IB。

0

试试这个

[(UIScrollView*)self.view setContentSize:[imageview size]];

+0

有图像视图大小没有财产 – Anand