1

我有一个 UIScrollView,里面有 2 个 UIImageViews。如果将它们相加,图像的高度约为 2330 像素。

在 Storyboard (iPad) 中,我将 UIScrollView 的大小设置为宽度 768,高度设置为 1024。

在 ViewController 的 viewDidLoad 中,我以编程方式设置 UIScrollView 的 contentsize,如下所示:

- (void)viewDidLoad
{

[super viewDidLoad];

    [self.introScrollView setScrollEnabled:YES];
    self.introScrollView.contentSize=CGSizeMake(768,4500);

}

高度为 4500 像素,足以容纳两个图像。有趣的是,它工作了一次,然后又停止工作了!!!它怎么可能起作用然后又停止了。这不合逻辑。它必须是一个错误或其他东西。

4

2 回答 2

0

我在 IB 中为 UIScrollView 关闭了 AutoLayout,它自动删除了 UIImageViews 的约束,现在它就像一个魅力!

于 2013-11-02T21:47:39.560 回答
0

第一个最常见的原因是您已经处理过的 contentSize。

第二个最常见的原因是出口没有设置NSLog(@"%@",self.introScrollView);不应该是零。如果是,那么您将永远没有机会设置 contentSize。

遥远的第三个是滚动视图上的 userInteractionEnabled 在 IB 或其他地方被设置为 NO。

遥远的第四个是父母或重叠兄弟姐妹上的手势识别器正在窃取手势。

在这种情况下,我会押注 #2。

于 2013-11-02T21:15:55.350 回答