扩展UIButton后的点击问题
我自定义了一个button,继承自UIButton
@interface MyButton : UIButton
@property(nonatomic,strong)UIButton *button;
-(id)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame]) {
_button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)];
//_button的各种自定义
[self addSubview:_button];
}
return self;
}
然后在具体的ViewController中使用该button时,可以使用这个方法:
-(void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents
但是实际点击的时候是没法调用action中的方法,第一次写这种扩展控件,感觉写法有点不对,求教下怎么解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是有点不对呀。
能告诉我你扩展这个 Button 的时候,为什么要加一个
button
属性么?这样你等于是在 UIButton 里套了一个 UIButton。一般的情况下,就把 button 这个属性去掉,不要在
initWithFrame:(CGRect)frame
里创建 button 又addSubview
,用到的时候就用self
就表示这个 button 了。如果一定要在外面套一个 view,也应该套一个
UIView
,初始化的时候往里加 Button。不过这样很可能没有必要。