gpt4 book ai didi

objective-c - Find Bar 不会与 WebView 的 ScrollView 一起显示为 findBarContainer

转载 作者:行者123 更新时间:2023-12-03 17:12:23 25 4
gpt4 key购买 nike

我有一个实现 NSTextFinderClient 协议(protocol)的 TextFinderController 对象,以及设置为 NSTextFinder 的 findBarContainer 的 WebView 的 WebDynamicScrollBarsView (这是一个 NSScrollView)。当我尝试通过将 findBarVisible 设置为 YES 使 findBar 在 ScrollView 中可见时,我没有观察到结果。我注意到即使在设置 findBarContainer 之后,ScrollView 的 findBarView 也为 null。我正在使用this从 WebView 获取 ScrollView 的代码。这是 Mac 应用程序,而不是 iOS 应用程序。如何让 findBar 显示在 WebView 中?

self.textFinder = [[NSTextFinder alloc] init];
self.textFinder.client = self.textFinderController;
self.textFinder.findBarContainer = [self.webView scrollView];
[self.webView scrollView].findBarPosition = NSScrollViewFindBarPositionAboveContent;
[self.webView scrollView].findBarVisible = YES;

最佳答案

请注意,我也在这里回答了这个问题:How do I get NSTextFinder to show up

问题是 findBarVisible 仅通过其容器设置栏的可见性,它实际上并没有告诉 NSTextFinder 本身它需要显示(至少,这是我的理解)。

假设您正确设置了 textFinder 客户端,并且正确设置了 ScrollView 类别,您仍然需要执行一个操作才能使其显示。那么你应该可以让它随意出现和消失。

[self.webViewscrollView].findBarVisible = YES; 替换为

[self.textFinder performAction:NSTextFinderActionShowFindInterface];

另外,请注意,我将 NSTextFinder 作为在 XIB 文件中创建的 IBAction。我不确定这是否会阻止它出现。

关于objective-c - Find Bar 不会与 WebView 的 ScrollView 一起显示为 findBarContainer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18448989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com