2010-10-13 37 views
2

如何使用只有界面生成器和无代码添加要在uiscrollview中设置的图像?我试图简单地将图像添加到滚动视图,它没有工作。我知道这是一个非常简单的答案,但是我没有找到在实现这一如何在IB中添加uiscrollview

回答

4

您可以将图像添加到在Interface Builder中滚动查看任何IB相关的帮助,但为了它滚动(即使图像是大比滚动视图)你需要在代码中手动设置滚动视图的contentSize属性,因为我不知道在Interface Builder中设置此属性的方法。在您的视图控制器的viewDidLoad方法,您可以添加类似:

scrollView.contentSize = imageView.frame.size; 

只有一个行代码,应该不会太麻烦。

+0

我只想补充一点,contentSize需要你有它在IB定义为比UIScrollView的帧大小大。否则,所有内容将已经在可见框架中,并且不启用滚动。 – Shiun 2010-10-13 22:17:02

+0

谢谢你使用这个,但我不想在标题和.m文件中添加我的滚动视图,以使你的代码行工作。虐待只是试试这个我虽然可能有一个ib的方式做到这一点,自动感谢:) – 2010-10-14 05:26:17

+0

self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width,660); //添加任意数量的更多上/下游戏 – DogCoffee 2013-09-05 01:24:23

0

或者其他人都建议你可以创建UIScrollView自定义子类。然后overided的initWithCoder:

- (id)initWithCoder:(NSCoder *)coder 
{ 
self = [super initWithCoder:coder]; 
if (self) { 

    if ([self.subviews count] > 0) { 
     UIView* subview = [self.subviews objectAtIndex:0]; 
     self.contentSize = subview.frame.size; 

     self.alwaysBounceHorizontal = NO; 
     self.alwaysBounceVertical = YES; 
     self.showsHorizontalScrollIndicator = NO; 
     self.scrollEnabled = YES; 
    } 

} 
return self; 
} 

然后类IB您的滚动视图设置为您的自定义子类。这将意味着内容大小会自动设置。

仅当您在滚动视图中的一个子视图的工作。否则,请添加创建一个新的“容器视图”,将所有内容放入其中,然后将其添加为滚动视图的唯一子视图。