aslında scrollView rengini default renkler olan siyah ve beyaz'dan başka bir renge set etmemek mümkün değil ama.
aşağıdaki örnekte olduğu gibi rengi değiştirebilirsiniz.
scrollView'in delegate metodlarında biri olan "scrollViewDidScroll" içerisinde scrollView içerisindeki subViewler olan indicatorları buluyoruz. Bu her scroll işlemi sırasında tekrarlanmalı. Bu nedenle "scrollViewDidScroll" delegate metodunu kullanıyoruz.
bulduğumuz indicator'ların rengini değiştirmek doğrudan mümkün değil.
bu nedenle içerisine o anki frame size derğerlerini alarak background renigini istediğimiz gibi belirlediğimiz boş bir UIView ekliyoruz.
Ama bu View'i eklemeden önce indicator içerisinde daha önceki scroll işleminden kalan eklediğimiz bir view'varsa for döngüsüyle bulup kaldırmalıyız. aksi takdirde her scroll işlemi sırasında defalarca yeni view'lari üstüste eklemiş oluruz.
import UIKit
class ViewController: UIViewController, UIScrollViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let myView:UIView = UIView(frame: CGRectMake(0.0, 0.0, self.view.frame.size.width * 2, self.view.frame.size.height * 2))
myView.backgroundColor = UIColor.redColor()
let scroll:UIScrollView = UIScrollView(frame: self.view.frame)
scroll.delegate = self
scroll.contentSize = CGSizeMake(myView.frame.size.width, myView.frame.size.height)
scroll.addSubview(myView)
self.view.addSubview(scroll)
}
func scrollViewDidScroll(scrollView: UIScrollView) {
let verticalIndicator: UIImageView = (scrollView.subviews[(scrollView.subviews.count - 1)] as! UIImageView)
if verticalIndicator.subviews.count > 0 {
for subView in verticalIndicator.subviews as! [UIView] {
subView.removeFromSuperview()
}
}
let newVerticalIndicator:UIView = UIView()
newVerticalIndicator.backgroundColor = UIColor.greenColor()
newVerticalIndicator.frame = CGRectMake(0.0, 0.0, verticalIndicator.frame.size.width, verticalIndicator.frame.size.height)
verticalIndicator.addSubview(newVerticalIndicator)
let horizontalIndicator: UIImageView = (scrollView.subviews[(scrollView.subviews.count - 2)] as! UIImageView)
if horizontalIndicator.subviews.count > 0 {
for subView in horizontalIndicator.subviews as! [UIView] {
subView.removeFromSuperview()
}
}
let newHorizontalIndicator:UIView = UIView()
newHorizontalIndicator.backgroundColor = UIColor.blueColor()
newHorizontalIndicator.frame = CGRectMake(0.0, 0.0, horizontalIndicator.frame.size.width, horizontalIndicator.frame.size.height)
horizontalIndicator.addSubview(newHorizontalIndicator)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}