Как отключают Копию, Сокращение, Выбор, Выбор Все в UITextView

В первом примере со ссылками Вы знаете, что b не может быть ПУСТЫМ. С примером указателя, b мог бы быть Нулевой указатель.

Однако примечание, что возможно передать Несуществующий объект через ссылку, но это является неловким и названная процедура может предположить, что это - ошибка сделать так:

a1(*(float *)NULL);
106
задан Aishwarya 23 December 2016 в 14:37
поделиться

5 ответов

Самый простой способ отключить операции монтажного стола - создать подкласс UITextView , который переопределяет метод canPerformAction: withSender: для возврата NO для действий, которые вы не хотите разрешать:

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
    if (action == @selector(paste:))
        return NO;
    return [super canPerformAction:action withSender:sender];
}

Также см. UIResponder

103
ответ дан 24 November 2019 в 03:44
поделиться

Я сделал это. В моем UITextView я очень легко отключил опции вырезания, копирования, выбора и т. Д.

Я поместил UIView в то же место, где я разместил UITextView , но в self.view и добавил метод touchDelegate следующим образом:

(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
    UITouch *scrollTouch=[touches anyObject];
    if(scrollTouch.view.tag==1)
    {
        NSLog(@"viewTouched");
        if(scrollTouch.tapCount==1)
            [textView1 becomeFirstResponder];
        else if(scrollTouch.tapCount==2)
        {
            NSLog(@"double touch");
            return;
        }

    }
}

, и это сработало для меня. Спасибо.

1
ответ дан 24 November 2019 в 03:44
поделиться

Это самый простой способ отключить все меню выбора / копирования / вставки в UITextView

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
{    
    [UIMenuController sharedMenuController].menuVisible = NO;
    return NO;    
}
10
ответ дан 24 November 2019 в 03:44
поделиться

Самый простой способ - создать подкласс UITextView, который переопределяет canPerformAction: withSender:

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender    
{    
     [UIMenuController sharedMenuController].menuVisible = NO;  //do not display the menu
     [self resignFirstResponder];                      //do not allow the user to selected anything
     return NO;
}
15
ответ дан 24 November 2019 в 03:44
поделиться

Подкласс UITextView и перезаписать canBecomeFirstResponder:

- (BOOL)canBecomeFirstResponder {
    return NO;
}

Обратите внимание, что это относится только к нередактируемым UITextViews! Не тестировал его на редактируемых...

67
ответ дан 24 November 2019 в 03:44
поделиться