Iphone 使用自动布局时的UIScrollView檐槽

Iphone 使用自动布局时的UIScrollView檐槽,iphone,ios,ipad,uiscrollview,Iphone,Ios,Ipad,Uiscrollview,在我的自动布局学习过程中,我目前正在尝试在iPhone上复制Photos.app 除了一个小细节外,一切都很顺利:我似乎无法复制官方应用程序上的“排水沟”(间距/填充) 每当我滚动到下一张(或上一张)图片时,我希望看到图片之间的空白 无需自动布局,只需增加滚动视图宽度及其内容大小即可轻松完成此操作: CGRect sFrame = self.view.frame; sFrame.size.width += 20; //gutter width UIScrollView *photoScroll

在我的自动布局学习过程中,我目前正在尝试在iPhone上复制Photos.app

除了一个小细节外,一切都很顺利:我似乎无法复制官方应用程序上的“排水沟”(间距/填充)

每当我滚动到下一张(或上一张)图片时,我希望看到图片之间的空白

无需自动布局,只需增加滚动视图宽度及其内容大小即可轻松完成此操作:

CGRect sFrame = self.view.frame;
sFrame.size.width += 20; //gutter width

UIScrollView *photoScroller = [[UIScrollView alloc] initWithFrame:sFrame];
photoScroller.contentSize = CGSizeMake(sFrame.size.width * 3, sFrame.size.height);
photoScroller.pagingEnabled = YES;
但我似乎无法用自动布局复制这种行为。这是我当前设置滚动视图(简化)的方式:

这样的事情可以实现吗?我是否可以设置任何可能的约束来提示系统这种行为


注:这些都是用代码完成的。界面生成器不用于此视图。

为什么不增加IB中的滚动条和内容大小?我只使用代码。不涉及IB。对不起,我没说清楚。编辑了这篇文章。无论如何,由于我使用的是自动布局,我认为不可能显式设置contentSize属性。无论自动布局如何,您都应该能够在代码中进行设置。检查此操作是否有效:。不幸的是,它不起作用。这与我之前使用的策略相同,但它依赖于显式设置帧,因此在使用自动布局时没有任何效果(否则其目的将失败)。
UIScrollView *photoScroller = [[UIScrollView alloc] init];
photoScroller.pagingEnabled = YES;
photoScroller.translatesAutoresizingMaskIntoConstraints = NO;

[photoScroller addSubview:image_One];
[photoScroller addSubview:image_Two];
[photoScroller addSubview:image_Three];
[photoScroller addSubview:gutter_One];
[photoScroller addSubview:gutter_One_Two];
[photoScroller addSubview:gutter_Two_Three];
[photoScroller addSubview:gutter_Three];

[photoScroller addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[gutter_One(==20)][image_One][gutter_One_Two(==20)][image_two][gutter_Two_Three(==20)][image_Three][gutter_Three(==20)]|" options:0 metrics:0 views:dict]];