2009-08-09 5 views
13

Ich habe eine WebView in meiner Anwendung (Macosx nicht iphone), zeigt es einige Javascript für den Benutzer, aber ich möchte nicht, dass der Benutzer in der Lage, den Text oder Rechtsklick auswählen und wählen Sie die Option zum Neuladen.Cocoa WebView - Deaktivieren Sie alle Interaktion

Gibt es eine einfache Möglichkeit, alle Interaktionen mit dem WebView zu deaktivieren?

Ich weiß auf dem iPhone ist es einfach zu Benutzerinteraktion zu deaktivieren, aber ich habe nie zuvor auf dem Desktop zu tun und kann keine Lösung finden.

Antwort

38

Sets beide Bearbeitung und UI-Delegationen:

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

dann die verschiedenen Methoden, die oben hinzufügen Textauswahl und Kontextmenü zu deaktivieren.

- (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; 
} 
+1

Vielen Dank – Craig

+4

Alt, aber ... im Interesse der guten Form, shouldn‘ t Wir geben nil in der ersten Methode statt in NO zurück? – SirRatty

+0

Ich habe die Antwort bearbeitet, um 'nil' in der ersten Methode zurückzugeben. – Chetan

3

über die Benutzeroberfläche Delegation es nützlich sein könnte, auch Operationen per Drag & Drop zu deaktivieren, fügen Sie

- (NSUInteger)webView:(WebView *)sender dragSourceActionMaskForPoint:(NSPoint)point 
{ 
    return WebDragSourceActionNone; // Disable any WebView content drag 
} 

- (NSUInteger)webView:(WebView *)sender dragDestinationActionMaskForDraggingInfo:(id <NSDraggingInfo>)draggingInfo 
{ 
    return WebDragDestinationActionNone; // Disable any WebView content drop 
} 
+0

Awesome, dies stoppt Drag-and-Drop von URLs auf die Webansicht. – theGecko

Verwandte Themen