Post

Replies

Boosts

Views

Activity

Reply to Adding border colour to page control applies background colour to page control
override func viewDidLoad() {           super.viewDidLoad()     slider.delegate = self     slideControl.currentPageIndicatorTintColor = .clear     slideControl.pageIndicatorTintColor = .clear     slideControl.preferredIndicatorImage = UIImage(named: "pageControlImage")     slideControl.setIndicatorImage(UIImage(named: "activePageImage"), forPage: 0)         }       func scrollViewDidScroll(_ scrollView: UIScrollView) {           let page = slider.contentOffset.x / scrollView.frame.size.width     //slideControl.currentPage = Int(page)     slideControl.setIndicatorImage(UIImage(named: "activePageImage"), forPage: Int(page))         }
Jun ’21
Reply to Adding border colour to page control applies background colour to page control
override func viewDidLoad() {           super.viewDidLoad() slider.delegate = self     slideControl.currentPageIndicatorTintColor = .clear     slideControl.pageIndicatorTintColor = .clear     slideControl.preferredIndicatorImage = UIImage(named: "pageControlImage")     slideControl.setIndicatorImage(UIImage(named: "activePageImage"), forPage: 0)         }       func scrollViewDidScroll(_ scrollView: UIScrollView) {           let page = slider.contentOffset.x / scrollView.frame.size.width     //slideControl.currentPage = Int(page)     slideControl.setIndicatorImage(UIImage(named: "activePageImage"), forPage: Int(page))         } This is how I have set my page control now. But the images are not appearing.
Jun ’21
Reply to Adding border colour to page control applies background colour to page control
Here is the code from the swift file. I call it from the viewDidLoad function. I tried calling it from the viewDidAppear function also but the result is the same. import UIKit extension UIPageControl {   func customPageControl(dotFillColor:UIColor, dotBorderColor:UIColor, dotBorderWidth:CGFloat) {     for (pageIndex, dotView) in self.subviews.enumerated() {       if self.currentPage == pageIndex {         dotView.backgroundColor = dotFillColor         dotView.layer.cornerRadius = dotView.frame.size.height / 2       }else{         dotView.backgroundColor = .white         dotView.layer.cornerRadius = dotView.frame.size.height / 2         dotView.layer.borderColor = dotBorderColor.cgColor         dotView.layer.borderWidth = dotBorderWidth       }     }   } } class IntroSliderViewController: UIViewController, UIScrollViewDelegate {       @IBOutlet weak var slider: UIScrollView!   @IBOutlet weak var slideControl: UIPageControl!       let slide1 = [:]       let slide2 = [:]       let slide3 = [:]       var slides = [ DictionaryString,String ]()       override func viewDidLoad() {     super.viewDidLoad()           slides = [slide1,slide2,slide3]     slider.isPagingEnabled = true     slider.contentSize = CGSize(width: self.view.bounds.width * CGFloat(slides.count), height: self.view.bounds.height)     slider.showsHorizontalScrollIndicator = false     slider.delegate = self     slideControl.customPageControl(dotFillColor: UIColor(named: "Primary-Color")!, dotBorderColor: UIColor(named: "Primary-Color")!, dotBorderWidth: CGFloat(2))           loadSlides()   }       func scrollViewDidScroll(_ scrollView: UIScrollView) {           let page = scrollView.contentOffset.x / scrollView.frame.size.width     slideControl.currentPage = Int(page)         }       func loadSlides() {           for (index,content) in slides.enumerated(){               if let slide = Bundle.main.loadNibNamed("sliderContent", owner: self, options: nil)?.first as? SliderContentView {                   slide.backgroundImage.image = UIImage(named: content["background"]!)         slide.mainImage.image = UIImage(named: content["mainImage"]!)         slide.heading.text = content["heading"]         slide.textContent .text = content["textContent"]                   slider.addSubview(slide)         slide.frame.size.width = self.view.bounds.size.width         slide.frame.size.height = self.view.bounds.size.height         slide.frame.origin.x = CGFloat(index) * self.view.bounds.size.width       }             }         }     }
May ’21
Reply to nil on unwrapping ScrollView
The ViewController is displayed using present function. self.present(IntroSliderViewController(), animated: true, completion: nil) And here is the error which occurs when I call this function: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value: file myPlan/IntroSliderViewController.swift, line 25 2021-05-05 16:18:30.705352+0530 myPlan[11130:802505] Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value: file myPlan/IntroSliderViewController.swift, line 25 (lldb)
May ’21