/** 创建btn */
UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
btn.frame = CGRectMake((self.view.frame.size.width - 100)*0.5, 500, 100, 50);
btn.backgroundColor = [UIColor greenColor];
btn.tintColor = [UIColor blackColor];
[btn setTitle:@"按住拍" forState:UIControlStateNormal];
[self.view addSubview:btn];
/** 监听事件 */
[btn addTarget:self action:@selector(touchDown) forControlEvents:UIControlEventTouchDown];
(void)touchDown {
NSLog(@"按钮被按下");
}
纯代码创建button,target监听button的点击事件,不明白为何点击button却没有任何响应。
방금 코드를 복사해서 실행해 봤습니다. 버튼을 클릭하면 반응이 있습니다. 코드는 괜찮습니다.
1. 부모 클래스가 상호작용을 금지합니다(userInteractionEnabled)
2. 무언가에 의해 차단되었을 수 있습니다.
3. 또한 부모 클래스가 설정한 값을 초과했을 수도 있습니다. ,
4.xcode가 경련을 일으키고 있습니다.
주제에서 벗어나 ReactiveCocoa를 사용해 보세요
으아악버튼에 이벤트를 추가하는 것이 너무 편하지는 않습니다
이런 방법으로 addTarget을 완성하고 위에 선택기를 작성할 수 있습니다
forControlEvents:UIControlEventTouchDown
改为TouchUpInside
위에 열거된 내용이 맞습니다. 포스터는 초보자인 것 같으니, 헤더 파일을 클릭해서 읽어보시길 권합니다.
UIControlEventTouchDown이 TouchUpInside로 변경되었습니다
초보자이신가요?
서로 격려합시다!!!1