gpt4 book ai didi

iOS 可拖动 subview

转载 作者:行者123 更新时间:2023-11-29 04:19:15 25 4
gpt4 key购买 nike

实现可拖动 View 面临一些困难。使用单点触摸,但我不认为它是特定于语言的......问题详情:我有一个处理 TouchesBegan、TouchesMove 并重新定位自身的 View (通过更改 Frame 属性)。那工作完美!一旦我添加禁用滚动和分页的 ScrollView,对 ScrollView 进行的任何触摸都不会到达必须移动的 View 。将 UserInteraction 设置为 NO 可以修复移动问题,但滚动条内托管的所有控件均不会响应任何触摸。

关于如何拥有 ScrollView 并允许其 super View 在没有可用滚动事件时接收所有触摸的任何想法吗?

最佳答案

您必须将触摸传递给 subview ,UIScrollView 的这个类别将完成这项工作:

@implementation UIScrollView (FixedApi)

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

UITouch *touch = [[event allTouches] anyObject];

NSLog(@"touch view = %@", [[touch view].class description]);
if ([[[touch view].class description] isEqualToString:@"UITableView"]) {
//You have touched a UITableView
} else if ([[[touch view].class description] isEqualToString:@"UIView"]) {
//You have touched a UIView
} else {
//Ignore the category and return the touch to the UIScrollView.
[self.superview touchesBegan:touches withEvent:event]; // or 1 nextResponder, depends
[super touchesBegan:touches withEvent:event];
}
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
if ( !self.dragging ) [self.nextResponder.nextResponder touchesEnded:touches withEvent:event];
[super touchesEnded:touches withEvent:event];
}

@end

关于iOS 可拖动 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13206850/

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