首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NSFontPanel更改WebView中文本的前景色和背景色

使用NSFontPanel更改WebView中文本的前景色和背景色
EN

Stack Overflow用户
提问于 2018-03-06 15:15:58
回答 1查看 158关注 0票数 0

应用程序:

我在Mac中有一个带有嵌入式WebView的Mac应用程序。WebView包含一个充当富文本编辑器的contenteditable DIV。

目标:

我想通过NSColorPanel机制更改WebView中选定文本的WebView前台背景色

问题:

当我单击NSColorPanel中的某个颜色时,NSColorPanel会在第一个响应程序上自动调用changeColor:

第一个响应者恰好是一个私有的WebKit类,它代表我的内容可编辑的DIV:WebHTMLView

上述机制总是会改变选定文本的前景色。我需要一种方法来决定前景或背景色是否应该改变。

理想解:

如果NSColorPanelNSColorWell可以配置为不自动调用第一个响应程序上的changeColor:并让我的代码处理颜色变化,那就太好了。

尝试并失败:

EN

回答 1

Stack Overflow用户

发布于 2018-03-07 10:26:15

若要拦截changeColor:,请设置web视图的editingDelegate并实现WebEditingDelegate方法webView:doCommandBySelector:

例如:

代码语言:javascript
复制
- (BOOL)webView:(WebView *)webView doCommandBySelector:(SEL)selector {
    if (selector == @selector(changeColor:)) {
        if (self.foregroundColorWell.active)
            return NO;
        return YES;
    }
    return NO;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49134161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档