В большинстве случаев элемент навигации на панели навигации работает нормально. Панель навигации скрывается до того, как пользователь коснется экрана.
Панель навигации перемещается с помощью [[self navigationContoller] setNavigationBarHidden:YES/NO animated:YES]
Однако иногда элемент навигации не срабатывает при касании внутри события.
Это фрагмент одного из них. .[self.button addTarget:self action:@selector(someFunc) forControlEvents:UIControlEventTouchUpInside]
Анимация кнопок исчезает и появляется так же, как и при прикосновении, но событие не запускается.
Но когда я скрываю панель навигации и снова появляюсь, нажав экран, элементы навигации снова работают нормально.
В чем проблема? Понятия не имею.
Заранее спасибо за помощь.
Событие щелчка или касания элемента навигации иногда не запускается
Ответы (1)
Я решил эту проблему, используя UITapGestureRecognizer
и UIImageView
.
Я добавил как UIBarButtonItem
по умолчанию, так и настроенный UIBarButtonItem
, используя UIImageView
и UITapGestureRecognizer
, на панель навигации для проверки. Затем, когда я снова столкнулся с проблемой, UIBarButtonItem
по умолчанию не отвечал, но настроенный UIBarButtonItem
работал нормально.
Это мой пример кода.
UIImage buttonImage = [UIImage imageNamed:@"buttonImage" inBundle:[NSBundle mainBundle] compatibleWithTraitCollection:nil];
UIImageView buttonImageView = [[UIImageView alloc] initWithImage:buttonImage];
UITapGestureRecognizer buttonTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(targetFunction)];
[buttonImageView addGestureRecognizer:buttonTapGesture];
UIBarButtonItem *bbiButton = [[UIBarButtonItem alloc] initWithCustomView:buttonImageView];
person
khcpietro
schedule
31.07.2015