当前位置:  开发笔记 > Android > 正文

UIScrollView - 显示滚动条

如何解决《UIScrollView-显示滚动条》经验,为你挑选了2个好方法。

可能是一个简单的!

有谁知道如何让UIScrollView的滚动条不断显示?

它在用户滚动时显示,因此他们可以看到它们所处的滚动视图的位置.

但是我希望它能够不断显示,因为用户不能立即看到滚动可用

任何建议都将受到高度赞赏.



1> Mongus Pong..:

不,你不能让它们总是显示,但你可以让它们暂时闪现.

[myScrollView flashScrollIndicators];

它们是滚动指示器,而不是滚动条.您无法使用它们滚动.


是的,如果他们一直在那里,那将是一种不一致的用户体验.这是正确的方法.
不适用于[UIWebView.scrollView] :(

2> SAKrisT..:

我的解决方案一直显示滚动指示器

#define noDisableVerticalScrollTag 836913
#define noDisableHorizontalScrollTag 836914

@implementation UIImageView (ForScrollView)

- (void) setAlpha:(float)alpha {

if (self.superview.tag == noDisableVerticalScrollTag) {
    if (alpha == 0 && self.autoresizingMask == UIViewAutoresizingFlexibleLeftMargin) {
        if (self.frame.size.width < 10 && self.frame.size.height > self.frame.size.width) {
            UIScrollView *sc = (UIScrollView*)self.superview;
            if (sc.frame.size.height < sc.contentSize.height) {
                return;
            }
        }
    }
}

if (self.superview.tag == noDisableHorizontalScrollTag) {
    if (alpha == 0 && self.autoresizingMask == UIViewAutoresizingFlexibleTopMargin) {
        if (self.frame.size.height < 10 && self.frame.size.height < self.frame.size.width) {
            UIScrollView *sc = (UIScrollView*)self.superview;
            if (sc.frame.size.width < sc.contentSize.width) {
                return;
            }
        }
    }
}

[super setAlpha:alpha];
}
@end

更新:此解决方案导致64位的一些问题.有关详细信息,请查看此处


这不是一个很好的答案,它是一个覆盖每个`UIImageView``setAlpha`方法的类别.它依赖于具有特定标记号的滚动视图指示符,该标记号是私有实现细节并且可能会发生变化.
推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有