-
(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里边定义了一些有关控制的方法,好多控件继承自它,以后可以多翻翻,说不定有惊喜。
网友评论