【发布时间】:2013-10-05 12:56:07
【问题描述】:
我有一个带有 UIView 子类的自定义类,在其中我动态创建了一个按钮。 现在我想为按钮方法设置动作。我像 UIviewController 一样设置正常。 但它不起作用。
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
UIButton *but=[UIButton buttonWithType:UIButtonTypeDetailDisclosure];
but.frame= CGRectMake(200, 15, 15, 15);
[but setTitle:@"Ok" forState:UIControlStateNormal];
[but addTarget:self action:@selector(aMethod)
forControlEvents:UIControlEventTouchUpInside];
[self addSubview:but];
// Initialization code
}
return self;
}
-(void)aMethod
{
NextEyeViewController *nexteye=[[NextEyeViewController alloc]initWithNibName:@"NextEyeViewController" bundle:nil];
[self presentViewController:nexteye animated:YES completion:nil];
}
-(void)aMethod 是我的按钮方法名称
【问题讨论】:
-
在您的自定义 UIView 类中,您可能需要启用 UserInteraction(这是一个您可以设置为 YES / NO 的属性)。
-
我没有在那里使用 xib 来启用用户交互
-
没关系。如果我没记错的话,默认情况下
userInteractionEnabled设置为NO用于自定义 UIViews - 可能是出于性能原因。如果您想与视图上的任何控件(按钮等)进行交互,则必须将其显式设置为YES。