Задача-c: при делегировании веб-просмотра, как заставить работать webViewDidChange? - PullRequest
0 голосов
/ 26 декабря 2010

У меня есть следующий интерфейс

   #import <Cocoa/Cocoa.h>
   #import <WebKit/WebView.h> 
   #import <WebKit/WebFrame.h>
   #import <WebKit/WebEditingDelegate.h>
   @interface CounterController: WebView 
   {
        WebView* myWebView;
   }
   @property (assign) IBOutlet WebView *myWebView;
   @end

и эта реализация

   #import "CounterController.h"
   @implementation CounterController

   -(id)init
    {
    [super init];
    [super setEditingDelegate:self];
        return self;
    }

    - (void)webViewDidChange:(NSNotification *)notification
    {
        NSLog(@"Hello World");
    }

HTML-файл, который запускается webview, имеет эту редактируемую область

  <div id="bar" contenteditable="true">
  dddddd
  </div>

когда я запускаю скрипт, он работает нормально, а редактируемый контент редактируемый; однако "hello world" не выводится в консоли, поэтому я предполагаю, что метод делегата "webViewDidChange" не работает!

Правильно ли я делаю делегата, почему этот метод "webViewDidChange" не работает? и как заставить его работать?

Большое спасибо

1 Ответ

1 голос
/ 27 декабря 2010

Пожалуйста, не пытайтесь подкласс WebView для этого;создать надлежащий отдельный объект контроллера.Тогда вы обнаружите, что делегат редактирования отлично работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...