OStack程序员社区-中国程序员成长平台

标题: ios - super View 边界的最小 x 值? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 16:53
标题: ios - super View 边界的最小 x 值?

这个表达式“superview 边界的最小 x 值”在 Apple Documentation 中是什么意思?关于 UIScrollView 中的自动布局?

...some notes regarding Auto Layout support for UIScrollView:

1) 据我所知,默认情况下 View 的 bounds 是 (0, 0, width, height)。所以 x 是 0

2) 一个 View 怎么可能有 更多 x 值以使其最小化?



Best Answer-推荐答案


任何 View 的自动布局约束通常与 View 的 可见 边界有关,但是当涉及到 UIScrollView 时,自动布局约束与 ScrollView 的 contentView 相关。
显然,因为 scrollView 是,嗯...应该滚动。


假设 scrollViewcontentSize 类似于:

myScrollView.frame = CGRectMake(0, 0, 100, 100);
myScrollView.contentSize = CGSizeMake(1000, 1000);

现在...
比如说,在这个 scrollView 中有一个 subView,类似于:

UILabel *lblTest = [UILabel alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];
[lblTest setText"Where am I?"];
[myScrollView addSubView:lblTest];

滚动前:

滚动后(到底部):

这就是 Apple 文档的含义:

The UIScrollView class scrolls its content by changing the origin of its bounds.

现在...
如果自动布局与 UIScrollView 的可见边界有关,那么无论您滚动多少,UILabel 都不会向上滚动。
但是……
由于 UIScrollView 中的 Autolayout 与 scrollView 的 contentSize 相关,因此 Autolayout 约束在其中与滚动功能相关。

所以...
当您在 scrollView 中为 subViews 使用 Autolayout 时,它将与 scrollView 的实际大小而不是可见大小有关。

关于ios - super View 边界的最小 x 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20298678/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4