是否有可能「隱藏」了一個NSScrollView的滾動條,仍然可以得到手勢滾動行爲?如果setHasHorizontalScroller可以滾動NSScrollView:否?
回答
爲什麼你不試一試呢?
爲了回答這個問題:是的,如果用戶具有與鼠標滾輪或滾動功能的觸摸板,它仍然是可能的滾動視圖,儘管滾動條是不可見的。
導致滾動視圖不顯示滾動條,而不是手勢滾動迴應:
-setHasHorizontalScroller:NO
導致顯示被禁用的滾動條,但它響應手勢滾動:
-setHasHorizontalScroller:YES
-setHidden:YES
我想,也許你的意思是「YES導致殘疾滾輪**不顯示**,但它響應手勢滾動」,不是嗎? – 2012-04-21 18:38:55
創建NSScroller子類並將其設置爲NSScrollView實例的垂直/水平滾動條。
的NSScroller子類應當覆蓋本(10.7及以上):
+ (CGFloat)scrollerWidthForControlSize:(NSControlSize)controlSize scrollerStyle:(NSScrollerStyle)scrollerStyle {
return 0;
}
不適用於10.8。滾動仍然禁用。 – svoisen 2013-03-01 00:30:13
這肯定是在了AppKit的錯誤。我能得到這個工作10.8.5使用下列解決方案:
1)子類NSScroller(首選方法)
+ (BOOL)isCompatibleWithOverlayScrollers
{
// Let this scroller sit on top of the content view, rather than next to it.
return YES;
}
- (void)setHidden:(BOOL)flag
{
// Ugly hack: make sure we are always hidden.
[super setHidden:YES];
}
來源:jmk在https://stackoverflow.com/a/12960795/836263
2)反彈和動量似乎使用傳統的風格時破裂。它也部分打破了Apple的scroll synchronization代碼。如果一個是NSScrollerStyleOverlay
而另一個是NSScrollerStyleLegacy
,它將導致滾動視圖重置滾動位置。如果滾動覆蓋式滾動視圖,則滾動舊式樣式,它會將兩個滾動視圖重置爲頂部y = 0滾動偏移量。
[self.scrollView setHasVerticalScroller:YES];
[self.scrollView setScrollerStyle:NSScrollerStyleLegacy];
[self.scrollView setHasVerticalScroller:NO];
是的,這是可能的。初始化scrollView後儘快嘗試一下。
self.scrollView.wantsLayer = YES;
我已經得到了這個沒有隱藏的NSScroller
子類,而不觸及setHasVerticalScroller:
工作。另外,如果self.scrollView
是覆蓋drawRect:
的子類,請嘗試關閉該功能以確保您在那裏執行的操作不會導致問題。
- 1. 可可(NSScrollView)限制滾動彈性
- 2. NSScrollView滾動問題
- 3. NSScrollView滾動位置
- 4. NSScrollView禁用自動滾動
- 5. 可以使用不同手勢滾動的嵌套NSScrollView?
- 6. NSScrollView滾動時的回調?
- 7. NSScrollView不正確的滾動
- 8. NSScrollView滾動不起作用?
- 9. 定製NSScrollView不滾動NSTableHeaderView
- 10. 是否可以滾動UITabBar?
- 11. 如何禁用NSScrollView的水平滾動?
- 12. 如何同步NSScrollView和WebView的滾動?
- 13. 如何禁用NSScrollView的垂直滾動?
- 14. NSTextView的NSScrollView內不會滾動:(
- 15. NSScrollView欄不滾動通過NSTableView行
- 16. NSScrollView滾動條的長度不正確
- 17. NSScrollView在滾動時跳到底部
- 18. 防止NSScrollView閃爍其滾動條
- 19. 調整大小時NSScrollView向下滾動?
- 20. NSScrollView與海量contentView導致滾動
- 21. NSScrollView在可可
- 22. 在NSScrollView中啓用滾動功能時隱藏滾動條
- 23. 是否可以對LinearLayout進行滾動
- 24. 檢查滾動條是否可以在WebBrowser中集中/滾動
- 25. 是否可以爲NSScrollView提供非常大的documentView?
- 26. NSScrollView中的NSTableView在拖動時不會自動滾動
- 27. 是否可以僅提取可滾動div的可見內容?
- 28. 如何在含有大量數據的NSScrollview中高效滾動?
- 29. Swift - 如何判斷NSScrollView何時開始滾動?
- 30. 如何保存並恢復Swift中的NSScrollView滾動位置?
不知道我做錯了。當setHasHorizontalScroller:YES時,我可以用我的觸控板滾動,但是如果setHasHorizontalScroller:NO,則不能滾動。 – NuBee 2011-05-17 18:26:45