gpt4 book ai didi

ios - 如何在 UIScrollView 的滚动指示器下方放置一个非滚动 UIView?

转载 作者:行者123 更新时间:2023-11-28 17:35:15 27 4
gpt4 key购买 nike

我有一个应用程序,我在其中使用缩放 scrollView 将图像裁剪为具有固定纵横比的矩形。我有一个 mask ,可以使要裁剪的图像部分变暗。目前我将此 subview 添加到 UIScrollView 的父级,使它们成为 sibling ,其中此掩码比 ScrollView “更高”。看起来很棒。除了...

这个掩码也屏蔽了 scrollIndicators,因此看起来有点笨。我可以关闭 scrollIndicators,或者,理想情况下,我想将这个 UIView 放在 scrollIndicators 的下面,但不会与其他内容一起滚动,如果我通过 [scrollView addSubview:我的面具 View ];

有人知道这是否可行吗?

最佳答案

首先,子类化 UIScrollView 以便您可以修改 ScrollView 的默认行为。

然后用你的图像创建一个 ImageView ,并将 ImageView 和 mask View 都放到 ScrollView 中,这样你的 View 就会位于滚动指示器的下方。

第三,在你的 ScrollView 委托(delegate)方法中viewForZoomingInScrollView: ,返回您的 ImageView ,以便只有 ImageView 缩放。请注意, ScrollView 会将内容大小调整为返回 View 的大小,但只要您的 ImageView 占据整个内容大小就可以了。

最后,覆盖 layoutSubviews 方法,将掩码 View 移动到 ScrollView 的可见边界。据说 layoutSubviews 方法在滚动的每一帧都会被调用,因此最终用户不会看到位置变化。

更多细节可以引用WWDC session 视频“Advanced ScrollView Techniques”。

编辑:好的,刚刚发现您可以通过实现委托(delegate)方法 scrollViewDidScroll 来避免覆盖 layoutSubviews。

关于ios - 如何在 UIScrollView 的滚动指示器下方放置一个非滚动 UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9991649/

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