Второй UIMenuController не скрывается - PullRequest
0 голосов
/ 06 июля 2019

Касание курсора в UITextView вызывает UIMenuController.Нажатие кнопки «Выбор» приводит к выделению соответствующего текста и отображению другого UIMenuController с новыми параметрами.Нажатие в любом месте текстового представления приводит к скрытию «второго» UIMenuController.

Example of system behavior

У меня есть пользовательский UIMenuItem, который при касании выбирает текущийтекстовая строка в UITextView, а затем снова отображает UIMenuController для последующих действий, однако «второй» UIMenuController не не скрывается при нажатии в любом месте в представлении, как ожидалось.

Example of undesired behavior

Действие пункта пользовательского меню:

- (void)selectLine:(id)sender {
    NSString *string = [[self textView] text];
    NSRange range = [[self textView] selectedRange];
    NSRange newRange = [string lineRangeForRange:range];

    if ([[string substringWithRange:newRange] hasSuffix:@"\n"]) {
        newRange.length -= 1;
    }
    [[self textView] setSelectedRange:newRange];

    CGRect targetRect = [[self textView] firstRectForRange:[[self textView] selectedTextRange]];
    UIMenuController *menuController = [UIMenuController sharedMenuController];
    [menuController setTargetRect:targetRect inView:[self textView]];
    [menuController setMenuVisible:YES animated:YES];
}
...