diff --git a/ImageSlideshow/Classes/Core/FullScreenSlideshowViewController.swift b/ImageSlideshow/Classes/Core/FullScreenSlideshowViewController.swift index d259b2d4..8b94dba0 100644 --- a/ImageSlideshow/Classes/Core/FullScreenSlideshowViewController.swift +++ b/ImageSlideshow/Classes/Core/FullScreenSlideshowViewController.swift @@ -72,7 +72,12 @@ open class FullScreenSlideshowViewController: UIViewController { view.addSubview(slideshow) // close button configuration - closeButton.setImage(UIImage(named: "ic_cross_white", in: Bundle(for: type(of: self)), compatibleWith: nil), for: UIControlState()) + if #available(iOS 13.0, *) { + closeButton.setImage(UIImage(systemName: "xmark"), for: UIControl.State()) + closeButton.tintColor = .white + } else { + closeButton.setImage(UIImage(named: "ic_cross_white", in: Bundle(for: type(of: self)), compatibleWith: nil), for: UIControlState()) + } closeButton.addTarget(self, action: #selector(FullScreenSlideshowViewController.close), for: UIControlEvents.touchUpInside) view.addSubview(closeButton) } diff --git a/ImageSlideshow/Classes/Core/ImageSlideshow.swift b/ImageSlideshow/Classes/Core/ImageSlideshow.swift index 5861a285..1dcee86d 100644 --- a/ImageSlideshow/Classes/Core/ImageSlideshow.swift +++ b/ImageSlideshow/Classes/Core/ImageSlideshow.swift @@ -311,7 +311,7 @@ open class ImageSlideshow: UIView { } /// reloads scroll view with latest slideshow items - func reloadScrollView() { + func reloadScrollView(initialPage: Int = 0) { // remove previous slideshow items for view in slideshowItems { view.removeFromSuperview() @@ -328,10 +328,10 @@ open class ImageSlideshow: UIView { } if circular && (scrollViewImages.count > 1) { - scrollViewPage = 1 + scrollViewPage = initialPage + 1 scrollView.scrollRectToVisible(CGRect(x: scrollView.frame.size.width, y: 0, width: scrollView.frame.size.width, height: scrollView.frame.size.height), animated: false) } else { - scrollViewPage = 0 + scrollViewPage = initialPage } loadImages(for: scrollViewPage) @@ -362,7 +362,7 @@ open class ImageSlideshow: UIView { Set image inputs into the image slideshow - parameter inputs: Array of InputSource instances. */ - open func setImageInputs(_ inputs: [InputSource]) { + open func setImageInputs(_ inputs: [InputSource], initialPage: Int = 0) { images = inputs pageIndicator?.numberOfPages = inputs.count @@ -383,7 +383,7 @@ open class ImageSlideshow: UIView { scrollViewImages = images } - reloadScrollView() + reloadScrollView(initialPage: initialPage) layoutScrollView() layoutPageControl() setTimerIfNeeded()