я встретить очень странную вещь сегодня: что мой обычай ViewController иногда не хватает в респондеров цепиViewController иногда пропускает цепочку ответчиков?
первый у меня есть пользовательские UIView с UIButton как его подвид, то я установить цель-действие, как обычно:
[closeButton addTarget:self.controller action:@selector(closeButtonPressed) forControlEvents:UIControlEventTouchUpInside];
конечно, я реализовать closeButtonPressed метод в моем обычае UIViewController
в самый раз, он просто работал отлично. но иногда мой ViewController пропускает событие крана, и, наконец, я обнаружил, что событие перехода переходит к AppDelegate, и метод closeButtonPressed в AppDelegate вызывается!
Я провел целый день в этой проблеме и до сих пор не знаю почему. вы можете дать мне ключ? большое спасибо. Ниже приведен код, надеюсь, что это может помочь:
код для инициализации и представить свой ViewController и Вид:
YLSRegisterStepOneViewController *step1Controller = [[YLSRegisterStepOneViewController alloc] initWithNibName:nil bundle:nil];
step1Controller.view = [[YLSRegisterStepOneView alloc] initWithFrame:CGRectMake(0, 0, 540, 720) OperType:operType];
step1Controller.modalPresentationStyle = UIModalPresentationFormSheet;
step1Controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:step1Controller animated:YES completion:nil];
код в UIView:
UIButton *closeButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
closeButton.frame = CGRectMake(10, 10, 50, 50);
[closeButton setTitle:NSLocalizedString(@"button_close", @"") forState:UIControlStateNormal];
[closeButton addTarget:self.controller action:@selector(closeButtonPressed) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:closeButton];
Кодекса UIViewController :
-(void) closeButtonPressed
{
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];// to dismiss self
}
дополнительное: в сторону UIButton имеется UITextField. когда эта проблема возникает, если я нажимаю UITextField, затем нажмите UIButton, UIViewController работает отлично
Вы установили свойство 'controller' в' YLSRegisterStepOneView'. – KudoCC
в первой версии, я не установил, но код работает из-за цепи ответчика ... тогда я нахожу эту проблему и пытаюсь установить свойство контроллера, но проблема остается. что меня больше всего смущает: это не происходит каждый раз, но случайно, иногда – michael
Можете ли вы показать мне, как вы установили свойство. – KudoCC