I am unsure how to implement a sliding imageview like the one in the top of this screenshot.Wie eine gleitende Image als Header auf einer Eureka Form
ich implementieren bin mit Eureka Formen und ich versuche, diese Schiebeimageview als Header enthalten.
Im Moment verwende ich eine benutzerdefinierte Ansicht und diese Library
Ich denke, die Wurzel meiner Frage durch die Gestenerkenner und die Methode „auf“ verursacht wird. Xcode gibt einen Fehler in der Zeile self.presentViewController(ctr,animated: true,completion:nil)
aus. Ich verstehe, dass es keinen Viewcontroller in einer UIView darstellen kann. Ich bin mir nur nicht sicher, wie ich das gleiche Ergebnis erzielen kann, wenn ich den View-Controller in der UIView-Subklasse präsentiere.
Hier ist mein Code:
class profilePicHeader: UIView {
let slideshow = ImageSlideshow()
var slideshowTransitioningDelegate: ZoomAnimatedTransitioningDelegate?
override init(frame: CGRect) {
super.init(frame: frame)
let localSource = [ImageSource(imageString: "GardenExample")!,ImageSource(imageString: "OvenExample")!]
slideshow.backgroundColor = UIColor.whiteColor()
slideshow.pageControlPosition = PageControlPosition.UnderScrollView
slideshow.pageControl.currentPageIndicatorTintColor = UIColor.lightGrayColor();
slideshow.pageControl.pageIndicatorTintColor = UIColor.blackColor();
slideshow.contentScaleMode = UIViewContentMode.ScaleAspectFill
slideshow.setImageInputs(localSource)
let recognizer = UITapGestureRecognizer(target: self, action: #selector(profilePicHeader.click))
slideshow.addGestureRecognizer(recognizer)
slideshow.frame = CGRectMake(0, 0, 320, 200)
slideshow.autoresizingMask = .FlexibleWidth
self.frame = CGRectMake(0, 0, 320, 130)
slideshow.contentMode = .ScaleAspectFit
self.addSubview(slideshow)
}
func click() {
let ctr = FullScreenSlideshowViewController()
ctr.pageSelected = {(page: Int) in
self.slideshow.setScrollViewPage(page, animated: false)
}
ctr.initialImageIndex = slideshow.scrollViewPage
ctr.inputs = slideshow.images
slideshowTransitioningDelegate = ZoomAnimatedTransitioningDelegate(slideshowView: slideshow, slideshowController: ctr)
// Uncomment if you want disable the slide-to-dismiss feature on full screen preview
// self.transitionDelegate?.slideToDismissEnabled = false
ctr.transitioningDelegate = slideshowTransitioningDelegate
self.presentViewController(ctr, animated: true, completion: nil)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}