是否有可能“隐藏”了一个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