如何在IB中添加uiscrollview

时间:2010-10-13 19:52:59

标签: iphone interface-builder uiscrollview

如何使用界面构建器而不是代码添加要在uiscrollview中设置的图像。我试过简单地在scrollview中添加一个图像,但它没有用。我知道这是一个非常简单的答案,但我没有找到任何与IB相关的帮助来实现这个

2 个答案:

答案 0 :(得分:4)

您可以将图像添加到Interface Builder中的滚动视图中,但为了使其滚动(即使图像大于滚动视图),您需要在代码中手动设置滚动视图的contentSize属性,因为我我不知道在Interface Builder中设置此属性的任何方法。在视图控制器的viewDidLoad方法中,您可以添加如下内容:

scrollView.contentSize = imageView.frame.size;

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

答案 1 :(得分:0)

或者,正如其他人建议您可以创建UIScrollView的自定义子类。然后覆盖了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中滚动视图的类设置为自定义子类。这意味着内容大小会自动设置。

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