Как отправить сенсорное событие в UIView на iOS - PullRequest
0 голосов
/ 14 сентября 2018

Я добавил жест касания для вида. Когда представление коснулось, вызван внутренний метод и появилось предупреждение.

Теперь я хочу отправить событие касания для имитации касания пальцем в этом представлении Как я мог это сделать?

===============

Спасибо всем.

Я думаю, что должен четко описать вопрос. Я работаю над ReplayKit на iOS12. Мы можем добавить RPSystemBroadcastPickerView в наше пользовательское представление. В моем проекте нажмите кнопку RPSystemBroadcastPickerView init и добавьте в мое представление, нажмите RPSystemBroadcastPickerView, выберите элементы и нажмите Начать трансляцию.

Что я хочу сделать, так это то, что когда я нажимаю кнопку, она автоматически переходит к интерфейсу выбора элементов. Так же, как отправка события касания в RPSystemBroadcastPickerView после нажатия кнопки.

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018
UIButton *btnInPicker = nil;
for( UIView *_subView in self.broadcastPicker.subviews) {
    if( [_subView isKindOfClass:[UIButton class]] ) {
        btnInPicker = (UIButton *)_subView;
        break;
    }
}


if(btnInPicker) {
    [btnInPicker sendActionsForControlEvents:UIControlEventTouchDown];
}

но есть проблема: Несбалансированные вызовы для начала / окончания появления переходов для

0 голосов
/ 14 сентября 2018

Вы можете создать собственное представление и переопределить следующие методы ...

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;

Swift Version

func touchesBegan(Set<UITouch>, with: UIEvent?)

Сообщает этому объекту, что одинили больше новых касаний произошло в представлении или окне.


func touchesMoved(Set<UITouch>, with: UIEvent?)

Сообщает респонденту, когда одно или несколько касаний, связанных с событием, изменились.


func touchesEnded(Set<UITouch>, with: UIEvent?)

Сообщает респонденту, когда один или несколько пальцев подняты из вида или окна.


func touchesCancelled(Set<UITouch>, with: UIEvent?)

Сообщает респонденту, когда системное событие (например, системное оповещение) отменяет последовательность касаний.

Подробнее см.это ссылка .

...