簡體   English   中英

查找欄未與WebView的滾動視圖一起顯示為findBarContainer

[英]Find Bar does not show up with WebView's Scroll View as the findBarContainer

我有一個實現NSTextFinderClient協議的TextFinderController對象,以及一個設置為NSTextFinder的findBarContainer的WebView的WebDynamicScrollBarsView(它是NSScrollView)。 當我嘗試通過將findBarVisible設置為YES使findBar在ScrollView中可見時,我沒有觀察到結果。 我注意到,即使在設置findBarContainer之后,ScrollView的findBarView也為null。 我正在使用代碼從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;

請注意,我也在這里回答了這個問題: 如何使NSTextFinder出現

問題在於,findBarVisible僅設置通過容器的條形圖的可見性,它實際上並沒有告訴NSTextFinder本身它需要顯示(至少是我對它的理解)。

假設您已經正確設置了TextFinder客戶端,並且正確設置了滾動視圖類別,則仍需要執行一項操作以使其出現。 然后,您應該能夠使其隨意出現和消失。

替換[self.webView scrollView].findBarVisible = YES;

[self.textFinder performAction:NSTextFinderActionShowFindInterface];

另外,請注意,我在XIB文件中創建了NSTextFinder作為IBAction。 我不確定這是否會阻止它的出現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM