gpt4 book ai didi

ios - 对 UIViewController 的某些部分启用 UserInteraction

转载 作者:行者123 更新时间:2023-11-28 12:54:35 25 4
gpt4 key购买 nike

自从过去 3 到 4 个小时以来,我一直在研究它,但我没有得到任何信息。我的问题是我想对 UIViewController 的某些部分启用 userInteraction。

描述:

我有一个 UIViewController。我添加了 30 个 tableviews。我在应用程序中存储了一个值。如果该值为 1,则我必须仅为 tableview1 启用用户交互,如果该值为 2,则仅 tableview2 ......等等

.如果我不清楚,请告诉我。感谢您花费宝贵的时间。提前致谢

最佳答案

一个简单的方法是继承 UIView 并覆盖 - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event

对于您希望 subview 忽略触摸的 UIView 部分(在示例中表示为 ignoreRect)返回 NO。

@interface InteractionView ()

@property (nonatomic) CGRect ignoreRect;

@end

@implementation InteractionView

- (void)awakeFromNib {
self.ignoreRect = CGRectMake(0.0f, 0.0f, 300.0f, 300.0f);
}

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
if (CGRectContainsPoint(self.ignoreRect, point)) {
return NO;
}

return [super pointInside:point withEvent:event];
}

@end

如果您需要对预期行为进行更多调整:例如返回特定区域的特定 View ,返回特定区域的顶 View ,...您可以使用

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
if (CGRectContainsPoint(self.ignoreRect, point)) {
return nil; // Edit that part if you want to return a chosen view
}

return [super hitTest:point withEvent:event];
}

关于ios - 对 UIViewController 的某些部分启用 UserInteraction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35359432/

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