ScrollView内容大小不起作用

时间:2011-10-25 09:56:53

标签: objective-c ios cocoa-touch

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

在该视图控制器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。请帮忙。

3 个答案:

答案 0 :(得分: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中拉伸它。

答案 1 :(得分:0)

属性contentSize与UIScrollView的大小不同。通常情况下,为了能够滚动,您将拥有更大的内容:

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

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

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

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

答案 2 :(得分:0)

试试这个

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