Bec*_*chD 1 xcode objective-c uibutton nsobject ios
我有以下问题:我试图在NSObject中定义一个按钮(在一个单独的文件中)并将其添加到我的ViewController:
NSObject方法:
在obj.h中:
+(void)NewButtonInView:(UIView *)view withAction:(SEL)actionbutton;
在obj.m
+(void)NewButtonInView:(UIView *)view withAction:(SEL)actionbutton {
 UIButton *button = [[UIButton alloc] init];
 button.frame = CGRectMake(0, 0, 50, 50);
 [button addTarget:self action:actionbutton forControlEvents:UIControlEventTouchUpInside];
}
在我的ViewCotroller中我导入了obj.h并且:
[obj NewButtonInView:[self view] withAction:@selector(actionB:)];
和:
-(void)actionB:(UIButton *)button {
 //some code
}
按钮看起来很好,但当我点击它时,我收到以下错误:"[obj actionB:]:无法识别的选择器发送到类"
任何帮助表示赞赏.谢谢.
问题是这一行
[button addTarget:self action:actionbutton forControlEvents:UIControlEventTouchUpInside];
具体来说,使用self.你把actionB:方法放在viewController中,但因为该NewButtonInView:withAction:方法是在一个类的方法中obj自我引用的类obj.要修复它,请将视图控制器中的参数作为此方法的参数传递
+(void)NewButtonInView:(UIView *)view withAction:(SEL)actionbutton target: (id) target {
UIButton *button = [[UIButton alloc] init];
button.frame = CGRectMake(0, 0, 50, 50);
[button addTarget: target action:actionbutton forControlEvents:UIControlEventTouchUpInside];
}
| 归档时间: | 
 | 
| 查看次数: | 1645 次 | 
| 最近记录: |