gpt4 book ai didi

ios - objective-c - ScrollView 内的多个 ScrollView

转载 作者:行者123 更新时间:2023-11-28 22:32:38 27 4
gpt4 key购买 nike

所以,我在填充整个 ViewController 的 ScrollView 中得到了 2 个 ScrollView 。

enter image description here

所以第一个 SV 滚动没有问题,设置了 2 个子 SV 的 contentSize。

不幸的是,我认为它必须与 Autolayout 相关...它处于打开状态,如果我将其关闭,1. SV 不会滚动,但会滚动子 SV。

知道怎么解决吗?

最佳答案

尝试在自定义 ScrollView 子类中覆盖 hitTest:withEvent:。以下代码应使内部 UIScollView 处理其上的所有触摸。

@interface MyCustomScrollView : UIScrollView
@end

@implementation MyCustomScrollView
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
UIView* handler = nil;
if ([self pointInside:point withEvent:event]) {
for (UIView* view in self.subviews) {
if ([view isKindOfClass:[UIScrollView class]]) {
CGPoint subPoint = [self convertPoint:point toView:view];
handler = [view hitTest:subPoint withEvent:event];
if (handler) {
break;
}
}
}

if (nil == handler) {
handler = [super hitTest:point withEvent:event];
}
}
return handler;
}
@end

注意:可滚动区域内的可滚动子区域会带来糟糕的用户体验。考虑调整内部 ScrollView 的大小以适合其内容。

关于ios - objective-c - ScrollView 内的多个 ScrollView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16986359/

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