13

cocoaアプリケーション(iphoneではなくmacosx)にwebViewがあり、ユーザーにJavaScriptが表示されますが、ユーザーがテキストを選択したり、右クリックしてリロードオプションを選択したりできないようにします。

webViewとのすべての対話を無効にする簡単な方法はありますか?

私はiPhoneでユーザーの操作を簡単に無効にできることを知っていますが、これまでデスクトップでこれを行う必要はなく、解決策を見つけることができません。

4

2 に答える 2

39

編集と UI 委任の両方を設定します。

[view setUIDelegate:self];
[view setEditingDelegate:self];

次に、上記のメソッドを追加して、テキスト選択とコンテキスト メニューを無効にします。

- (NSArray *)webView:(WebView *)sender contextMenuItemsForElement:(NSDictionary *)element 
    defaultMenuItems:(NSArray *)defaultMenuItems
{
    // disable right-click context menu
    return nil;
}

- (BOOL)webView:(WebView *)webView shouldChangeSelectedDOMRange:(DOMRange *)currentRange 
    toDOMRange:(DOMRange *)proposedRange 
    affinity:(NSSelectionAffinity)selectionAffinity 
    stillSelecting:(BOOL)flag
{
    // disable text selection
    return NO;
}
于 2009-08-09T19:07:43.560 に答える