扩展UIButton后的点击问题

发布于 2022-09-01 05:37:48 字数 640 浏览 37 评论 0

我自定义了一个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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

比忠 2022-09-08 05:37:48

是有点不对呀。

能告诉我你扩展这个 Button 的时候,为什么要加一个button属性么?这样你等于是在 UIButton 里套了一个 UIButton。

一般的情况下,就把 button 这个属性去掉,不要在initWithFrame:(CGRect)frame里创建 button 又 addSubview,用到的时候就用self就表示这个 button 了。

如果一定要在外面套一个 view,也应该套一个UIView,初始化的时候往里加 Button。不过这样很可能没有必要。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文