button 手动代码添加监听事件

  • (void)createButton
    {
    UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    myButton.frame = CGRectMake(100, 100, 100, 50);
    [myButton setTitle:@"click me!" forState:UIControlStateNormal];
    SEL eventHandler = @selector(clickHandler);
    [myButton addTarget:self action:eventHandler forControlEvents:UIControlEventTouchUpInside];
    [window addSubview:myButton];
    }

  • (void)clickHandler
    {
    NSLog(@"You clicked button!");
    }

自己翻开发者文档也没有找到,网上一搜果然已经有人预先想到这个问题了。
最关键的一行代码是
[myButton addTarget:self action:eventHandler forControlEvents:UIControlEventTouchUpInside];
此方法在UIControl类的定义里边,一开始我在UIbutton里找,没有找到相关方法,就怀疑是不是在某个父类或者爷爷类里边,果然,我的直觉还是不错的,只不过没想到是UIcontroll类里边,还是愚蠢。
UIControl里边定义了一些有关控制的方法,好多控件继承自它,以后可以多翻翻,说不定有惊喜。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容