gpt4 book ai didi

objective-c - UIScrollView 不使用自动布局约束

转载 作者:行者123 更新时间:2023-11-30 11:25:27 25 4
gpt4 key购买 nike

我有一个 ScrollView 和它后面的 ImageView ,我用 Nib 填充它。我正在使用自动布局。我在两个 View 上都有一个用于监督的底部空间和一个用于监督的顶部空间。 ImageView 完全符合我的要求。对于 iphone 5,这就是我想要的。对于其他 iPhone,它位于屏幕底部上方,因此可以正确调整大小。 ScrollView 在 iPhone 5 上看起来正确,但在其他手机上它不会调整大小,因此它会向下滚动到应用程序 View 的下方。我在日志中收到这些消息:

 2012-11-21 10:42:38.576 LCHApp[12604:907] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this: (1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer
to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)

"<NSLayoutConstraint:0x1d8ea080 UIScrollView:0x1d8413b0.bottom == UIImageView:0x1d892110.bottom>",
"<NSAutoresizingMaskLayoutConstraint:0x1d8cca10 h=-&- v=-&- ScheduleViewNib:0x1d853630.height == UIScrollView:0x1d8413b0.height - 386>",
"<NSLayoutConstraint:0x1d8e5340 V:[UIImageView:0x1d892110]-(64)-| (Names: '|':ScheduleView:0x1d8efc30 )>",
"<NSAutoresizingMaskLayoutConstraint:0x1d8cf520 h=--& v=--& V:[ScheduleView:0x1d8efc30(480)]>",
"<NSLayoutConstraint:0x1d8eaed0 V:|-(45)-[UIScrollView:0x1d8413b0] (Names: '|':ScheduleView:0x1d8efc30 )>"


Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x1d8ea080 UIScrollView:0x1d8413b0.bottom == UIImageView:0x1d892110.bottom>

我已经尝试过了

[self setTranslatesAutoresizingMaskIntoConstraints:YES];

[self.myScrollView setTranslatesAutoresizingMaskIntoConstraints:YES];

据我所知,这只是消除了 View 的所有限制。这不是我想要的。

最佳答案

UIScrollView 和自动布局之间的关系与自动布局的其他方面有所不同。基本上,如果允许运行简单的自动布局,则不会滚动任何内容。例如,如果 ScrollView 的 subview 通过约束以正常方式固定在距 ScrollView 顶部 10 点的位置,那么它将绝对固定在那里;无论 ScrollView 如何滚动,它都永远不会移动。

为了解决这个问题,使用自动布局的 UIScrollView 以全新的方式运行。因此,当您说“我正在使用自动布局”时,您必须做好准备,以应对与以前截然不同的操作。您必须使用带有 translatesAutoresizingMaskIntoConstraints = YES 的单个 ScrollView subview 和显式内容大小,否则所有内容都必须具有 translatesAutoresizingMaskIntoConstraints = NO 并且将隐式推导内容大小基于 subview 的约束。

这在https://developer.apple.com/library/content/releasenotes/General/RN-iOSSDK-6_0/index.html中有很好的解释。

关于objective-c - UIScrollView 不使用自动布局约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50784798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com