更改 UITableView、iPhone 中滚动条的宽度和颜色
我只能找到是否要显示滚动条或不使用
tableView.showsVerticalScrollIndicator = YES/NO;
,但如何自定义滚动条的颜色、宽度以及可能的其他功能?
任何帮助将不胜感激。
编辑:
我从代码片段中得到了这个想法,其中必须在 MKMapKit 中找到 Google 徽标并将其重新定位到某个位置以使其保持可见。 通过以下方法,可以将自定义图像设置为 UItbaleview 的滚动条。但我没有发现任何关于改变滚动条大小的信息。
-(void) ViewDidLoad
{
UIImageView *testView = [self.tableView.subviews objectAtIndex:1];
UIImage *Img = [UIImage imageNamed:@"image.png"];
[testView setImage:Img];
}
编辑: 根据 Nekto 的建议,您可以使用以下内容来更改宽度。
CGRect frame = testView.frame;
frame.size.width = 10; //set any value you want.
testView.frame = frame;
I could only find if one wants to display scroll bar or not using
tableView.showsVerticalScrollIndicator = YES/NO;
but how can I customize the scroll bar for colour, width and if possible other features?
Any help will be greatly appreciated.
EDIT:
I got this idea from code snippets where one must find Google logo in MKMapKit and relocate it somewhere so that it remains visible.
by following method one can set custom image to scroll bar of UItbaleview. But I found nothing on changing size of scroll bar.
-(void) ViewDidLoad
{
UIImageView *testView = [self.tableView.subviews objectAtIndex:1];
UIImage *Img = [UIImage imageNamed:@"image.png"];
[testView setImage:Img];
}
EDIT:
As suggested by Nekto you can use following to change width.
CGRect frame = testView.frame;
frame.size.width = 10; //set any value you want.
testView.frame = frame;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
您只能设置滚动指示器的样式:
样式:
例如:
You can set only style of scroll indicators:
Styles:
For example:
您可以使用以下方法更改滚动指示器颜色:
希望这有帮助。
You can change the scroll indicator color using:
Hope this helps.
您可以将这个出色的开源自定义滚动条添加到您的项目中,它完全可自定义:
https://github.com/BasheerSience/BRScrollBar
You can add this great open source custom scrollbar to your project, its totally customisable:
https://github.com/BasheerSience/BRScrollBar
您可以隐藏原始滚动条并使用自定义滚动条进行滚动。
可用于滚动内容,只需将自定义栏添加到表格中即可。
You can hide the original scroll bar and scroll using your custom scroll bar.
can be used to scroll content, just add your custom bar to the table.
对于 Swift 3
collectionView.indicatorStyle = UIScrollViewIndicatorStyle.white
For Swift 3
collectionView.indicatorStyle = UIScrollViewIndicatorStyle.white
Swift-3,4
如果您无法覆盖方法“scrollViewDidScroll”(可能您正在将其用于某些其他功能或分页),请
在 viewDidAppear() 中尝试这个!!,您可以调用这个方法。
Swift-3,4
If you are not able to override method "scrollViewDidScroll" (may be you are using this for some other functionality, or paging), Try this !!
in viewDidAppear() you can call this method.
我没有找到任何其他方法,但这个:
只有 3 种可用的样式。如果你能找到实现你自己的 UIScrollViewIndicatorStyle 的方法,但我什至无法想象如何做到这一点:它们是在 UIKit 框架中深层实现的(在 UIScrollView.h 中声明),并且你只能设置一个标志,女巫会通过 UIScrollView 使用来知道,使用什么样式。所以,我看不到任何其他方法:您将需要以某种方式实现新的样式并在那里标记。有可能吗?
I did'n find any other way but this:
There is only 3 available styles. If only you will find the way to implement your own UIScrollViewIndicatorStyle, but I can't even imagine HOW to do this: they are implemented deep in UIKit framework (declared in UIScrollView.h), and you can only set a flag, witch will used by UIScrollView to know, what style to use. So, I can't see any other way: you will need somehow to implement new style and flag there. Is it possible at all?
使用 3 种默认颜色样式更改指示器颜色。
TextField.indicatorStyle=UIScrollViewIndicatorStyleWhite;
change indicator color with 3 default color style.
TextField.indicatorStyle=UIScrollViewIndicatorStyleWhite;