मैं छवियों को पूर्ण स्क्रीन दिखाने के लिए UIPageViewController का उपयोग कर रहा हूं। समस्या यह है कि छवियां पूर्ण स्क्रीन नहीं दिखा रही हैं। इसके बजाय छवि और पृष्ठ नियंत्रण दृश्य बिंदुओं और शीर्ष पर के बीच के नीचे एक अंतर है। मेरे पास UIViewController है जो UIPageController में उप दृश्य/बच्चे के रूप में जोड़ा गया है और ViewController छवियों का उपयोग करके छवियों को दिखाया जा रहा है। मैं इसे तेजी से/स्टोरीबोर्ड में करने की कोशिश कर रहा हूं।दृश्य नियंत्रक/पृष्ठ दृश्य नियंत्रक (स्विफ्ट) में छवि दृश्य पूर्ण स्क्रीन बनाएं
मैं स्टोरीबोर्ड में "कोई नहीं" के लिए शीर्ष बार और निचला बार विकल्प बदल रहा हूं, लेकिन यह काम नहीं करता है।
छवि पूर्वावलोकन:
ChildViewControllerCode:
class BoatContentViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var titleLabel: UILabel!
var pageIndex: Int!
var titleText: String!
var imageFile: String!
override func viewDidLoad() {
super.viewDidLoad()
self.imageView.image = UIImage(named: self.imageFile)
self.titleLabel.text = self.titleText
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
mainViewControllerCode:
class BoatViewController: UIViewController, UIPageViewControllerDataSource {
@IBOutlet weak var loginButton: UIButton!
@IBOutlet weak var skipButton: UIButton!
var pageViewController: UIPageViewController!
var pageTitles: NSArray!
var pageImages: NSArray!
override func viewDidLoad() {
super.viewDidLoad()
loginButton.backgroundColor = UIColor.clearColor()
loginButton.layer.cornerRadius = 5
loginButton.layer.borderWidth = 1
loginButton.layer.borderColor = UIColor.purpleColor().CGColor
skipButton.backgroundColor = UIColor.whiteColor()
skipButton.layer.cornerRadius = 5
skipButton.layer.borderWidth = 1
skipButton.layer.borderColor = UIColor.whiteColor().CGColor
self.pageTitles = NSArray(objects: "", "", "", "", "")
self.pageImages = NSArray(objects: "onboarding1", "onboarding2", "onboarding3", "onboarding4", "onboarding5")
self.pageViewController = self.storyboard?.instantiateViewControllerWithIdentifier("BoatPageViewController") as! UIPageViewController
self.pageViewController.dataSource = self
var startVC = self.viewControllerAtIndex(0) as BoatContentViewController
var viewControllers = NSArray(object: startVC)
self.pageViewController.setViewControllers(viewControllers as [AnyObject], direction: .Forward, animated: true, completion: nil)
self.pageViewController.view.frame = CGRectMake(0, 30, self.view.frame.width, self.view.frame.size.height - 60)
self.addChildViewController(self.pageViewController)
self.view.addSubview(self.pageViewController.view)
self.pageViewController.didMoveToParentViewController(self)
// Do any additional setup after loading the view.
}
func viewControllerAtIndex(index: Int) -> BoatContentViewController {
if ((self.pageTitles.count == 0) || (index >= self.pageTitles.count)) {
return BoatContentViewController()
}
var vc: BoatContentViewController = self.storyboard?.instantiateViewControllerWithIdentifier("BoatContentViewController") as! BoatContentViewController
vc.imageFile = self.pageImages[index] as! String
vc.titleText = self.pageTitles[index]as! String
vc.pageIndex = index
return vc
}
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController?
{
var vc = viewController as! BoatContentViewController
var index = vc.pageIndex as Int
if (index == 0 || index == NSNotFound)
{
return nil
}
index--
return self.viewControllerAtIndex(index)
}
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
var vc = viewController as! BoatContentViewController
var index = vc.pageIndex as Int
if (index == NSNotFound) {
return nil
}
index++
if (index == self.pageTitles.count) {
return nil
}
return self.viewControllerAtIndex(index)
}
func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int {
return self.pageTitles.count
}
func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int {
return 0
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
अनुप्रयोग प्रतिनिधि:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
var pageControl = UIPageControl.appearance()
pageControl.pageIndicatorTintColor = UIColor.lightGrayColor()
pageControl.currentPageIndicatorTintColor = UIColor.blackColor()
pageControl.backgroundColor = UIColor.clearColor()
return true
}
जांच यह पता http://stackoverflow.com/questions/21045630/how-to-put-the-uipagecontrol-element-on-top -of-the-sliding-pages-in-a-uipage –
यह मेरे लिए सहायक था [UIPageViewController UIImage पूर्ण स्क्रीन नहीं दिखा रहा है] (http://stackoverflow.com/questions/28732972/uipageviewcontroller-uiimage-not-showing- पूर्ण स्क्रीन) –