【发布时间】:2017-02-12 05:08:11
【问题描述】:
我尝试使用initWithFrame,但无法显示UIView,这种代码解决了我在这里看到的许多问题,但在我的情况下没有:
.m 文件
- (id)initWithFrame:(CGRect)frame myParams:(NSArray*)params{ self = [super initWithFrame:frame]; 如果(自我){ UIView *view = [UIView alloc] initWithFrame:CGRectMake(0,0,100,100)]; //尝试发送带有手势的uiview include view.userInteractionEnabled = YES; UITapGestureRecognizer *tap = [UITapGestureRecognizer alloc] initWithTarget:self action:@selector(test)]; [查看 addGestureRecognizer:tap]; [自我添加子视图:视图]; } 回归自我; }这是我尝试在UIViewController 中添加视图的方式:
也许在这里我做错了,对吧?
所以,我的问题是可以在此类生成的UIView 中添加UITapGesture,因为它不会触发:
.h 文件
+ (UIView *)viewParams:(NSArray*)params;.m 文件
+ (UIView *)viewWithParams:(NSArray*)params{ UIView *view = [UIView alloc] initWithFrame:CGRectMake(0,0,100,100)]; NSLog(@"读取参数%@", params); //尝试发送带有手势的uiview include view.userInteractionEnabled = YES; UITapGestureRecognizer *tap = [UITapGestureRecognizer alloc] initWithTarget:self action:@selector(test)]; [查看 addGestureRecognizer:tap]; 返回视图; } -(无效)测试{ NSLog('它有效...'); }更新:因为实例方法正在工作。但是作为类方法我不能让它工作。有人知道可能吗?
【问题讨论】:
-
你可以试试给 self.view.userInteractionEnabled = YES;在视图控制器中?
-
这没有尝试作为类方法。
标签: ios objective-c uiview uitapgesturerecognizer