iOS開発~テキスト入力ボックスのコピーや貼り付けを無効にするなどの機能

970 ワード

一、概要
アップルはiOS 3.0にカット、コピーなどの機能を追加し、開発者はUImenuControllerコンポーネントを使用して個性的なポップアップメニューをカスタマイズすることもできますが、銀行Appのパスワード入力ボックスなど、この機能を無効にする必要があるシーンもあります.
二、実践
一般的にUImenuControlを使用するコントロールには、UItextViewとUItextFieldがあります.以下、UItextFieldを例にとると、UImenuControlを無効にする最も簡単な方法は、UItextFieldをカスタマイズし、その方法を再ロードすることです.
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
    [UIMenuController sharedMenuController].menuVisible = NO;
    if (action == @selector(copy:)) {
        return NO;
    } else if (action == @selector(selectAll:)) {
        return NO;
    }
    
    return NO;
}

これにより、UImenuController機能が無効になり、上記のコードはすべての機能のコピーと選択が無効になります.他の機能を無効にするには、SDKインタフェースを参照してください.
- (void)cut:(id)sender NS_AVAILABLE_IOS(3_0);
- (void)copy:(id)sender NS_AVAILABLE_IOS(3_0);
- (void)paste:(id)sender NS_AVAILABLE_IOS(3_0);
- (void)select:(id)sender NS_AVAILABLE_IOS(3_0);
- (void)selectAll:(id)sender NS_AVAILABLE_IOS(3_0);