Когда RPSystemBroadcastPickerView добавляется в мое пользовательское представление и отправляется событие на его внутреннюю кнопку, пользовательский интерфейс не может ответить
При добавлении RPSystemBroadcastPickerView в мое пользовательское представление на iOS 12 и отправке сенсорного события на его внутреннюю кнопку пользовательский интерфейс блокируется и не может ответить на любое сенсорное событие.
Вот мой код: Когда я получаю уведомление, я вызываю этот метод для инициализации моего пользовательского представления:
- (void)presentMyCustomView
{
MyCustomView *myCustomView = [[[[UIApplication sharedApplication] delegate] window] viewWithTag:kMyCustomViewTag];
if (!myCustomView)
{
myCustomView = [[MyCustomView alloc] init];
myCustomView.tag = kMyCustomViewTag;
[[[[UIApplication sharedApplication] delegate] window] addSubview:myCustomView];
[myCustomView release];
}
}
В методе init класса MyCustomView я создаю RPSystemBroadcoatPickerView и добавляю его в MyCustomView:
RPSystemBroadcastPickerView *broadcastPicker = [[RPSystemBroadcastPickerView alloc] initWithFrame:CGRectMake(0, 0, 100.f, 100.f)];
broadcastPicker.preferredExtension = @"xxxxx";
self.broadcastPicker = broadcastPicker;
[self addSubview:broadcastPicker];
[broadcastPicker release];
Но когда я запускаю свой проект, иногда пользовательский интерфейс блокируется, и все другие элементы в MyCustomView не могут быть затронуты. Журнал сбоев RPBroadcastPicker будет обнаруживаться в журналах устройств, но не каждый раз при общем журнале сбоев.
Я использовал много методов, например, добавить broadcastPicker непосредственно в окно ключа, но не могу помочь.
Кто-нибудь может мне помочь? Большое спасибо.
0 ответов
if (@available(iOS 12.0, *)) {
RPSystemBroadcastPickerView *pickerView = [RPSystemBroadcastPickerView new];
pickerView.preferredExtension = @"com.apple.sharescreen";
SEL buttonPressed = NSSelectorFromString(@"buttonPressed:");
if ([pickerView respondsToSelector:buttonPressed]) {
[pickerView performSelector:buttonPressed withObject:nil];
}
}