在 UIScrollView 中使用 PureLayout 库 pinEdge 对 UIView 不起作用或操作方法?
Using PureLayout library pinEdge right UIView in UIScrollView not working or how-to?
我正在使用 PureLayout 库。 Github
我已经 UIScrollView
作为全屏容器。
举个简单的例子,我有一个 UIView(0,0,100,50)。我想将此视图的右边缘固定到 UIScrollView
的右边缘。
我是这样做的:
UIScrollView *sv = [UIScrollView newAutoLayoutView];
sv.alwaysBounceHorizontal = YES;
[self.view addSubview:sv];
[sv autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsZero];
UIView *v = [UIView newAutoLayoutView];
v.backgroundColor = [UIColor grayColor];
[v autoSetDimensionsToSize:CGSizeMake(100, 50)];
[sv addSubview:v];
[v autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:15];
[v autoPinEdgeToSuperviewEdge:ALEdgeRight withInset:15];
//[v autoPinEdgeToSuperviewEdge:ALEdgeTrailing withInset:15]; // also tried this
我得到 结果:
我知道,我可以创建一个 UIView 容器,其宽度 与 UIScrollView
相同,并将其添加为 [= scrollView
的 14=] 并将所有自定义视图放入此容器中,但我想知道为什么我们 不能 直接用 UIScrollView
做.
万一有人遇到同样的问题,PureLayout 的所有者提供了一个答案,他回答了我的问题:
https://github.com/smileyborg/PureLayout/issues/61#issuecomment-93819808
我正在使用 PureLayout 库。 Github
我已经 UIScrollView
作为全屏容器。
举个简单的例子,我有一个 UIView(0,0,100,50)。我想将此视图的右边缘固定到 UIScrollView
的右边缘。
我是这样做的:
UIScrollView *sv = [UIScrollView newAutoLayoutView];
sv.alwaysBounceHorizontal = YES;
[self.view addSubview:sv];
[sv autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsZero];
UIView *v = [UIView newAutoLayoutView];
v.backgroundColor = [UIColor grayColor];
[v autoSetDimensionsToSize:CGSizeMake(100, 50)];
[sv addSubview:v];
[v autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:15];
[v autoPinEdgeToSuperviewEdge:ALEdgeRight withInset:15];
//[v autoPinEdgeToSuperviewEdge:ALEdgeTrailing withInset:15]; // also tried this
我得到 结果:
我知道,我可以创建一个 UIView 容器,其宽度 与 UIScrollView
相同,并将其添加为 [= scrollView
的 14=] 并将所有自定义视图放入此容器中,但我想知道为什么我们 不能 直接用 UIScrollView
做.
万一有人遇到同样的问题,PureLayout 的所有者提供了一个答案,他回答了我的问题:
https://github.com/smileyborg/PureLayout/issues/61#issuecomment-93819808