Kapsayıcının içine sayfa görünümü ayarlama. Bulduğum tüm talimatları takip ettim (yeni başlayanlar).UIImage dizisinden ad, nil değerini döndürmeye devam ediyor.
Bu iki dizi, sayfaları doldurmak istediğim resimlerin adlarına sahip ana görünüm denetleyicide.
self.shirtImage = NSArray(objects: "shirt1", "shirt2")
self.pantsImage = NSArray(objects: "pants1", "pants2")
I programı çalıştırmak her , bu iki hat: bir şekilde bu diziler bir sıfır değerinin alınması anlamına gelir
self.todayShirt.image = UIImage(named: self.shirtName)
self.todayPants.image = UIImage(named: self.pantsName)
dönüş hatası fatal error: unexpectedly found nil while unwrapping an Optional value
veya CUICatalog: Invalid asset name supplied:
.
sayfa içerik sınıfı şuna benzer:
class TodayPicksViewController: UIViewController {
@IBOutlet weak var todayShirt: UIImageView!
@IBOutlet weak var todayPants: UIImageView!
var pageIndex: Int!
var shirtName: String!
var pantsName: String!
override func viewDidLoad() {
super.viewDidLoad()
self.todayShirt.image = UIImage(named: self.shirtName)
self.todayPants.image = UIImage(named: self.pantsName)
ve ana görünümü denetleyicisi böyle kurulur:
class ViewController: UIViewController, UIPageViewControllerDataSource {
var pageViewController: UIPageViewController!
var shirtImage: NSArray!
var pantsImage: NSArray!
override func viewDidLoad() {
super.viewDidLoad()
self.shirtImage = NSArray(objects: "shirt1", "shirt2")
self.pantsImage = NSArray(objects: "pants1", "pants2")
self.pageViewController = self.storyboard?.instantiateViewControllerWithIdentifier("PageViewController") as! UIPageViewController
self.pageViewController.dataSource = self
let startVC = self.viewControllerAtIndex(0) as TodayPicksViewController
let viewControllers = NSArray(object: startVC)
self.pageViewController.setViewControllers((viewControllers as! [UIViewController]), direction: .Forward, animated: true, completion: nil)
self.pageViewController.view.frame = CGRectMake(0, 30, self.view.frame.width, self.view.frame.height - 60)
self.addChildViewController(self.pageViewController)
self.view.addSubview(self.pageViewController.view)
self.pageViewController.didMoveToParentViewController(self)
}
func viewControllerAtIndex(index: Int) -> TodayPicksViewController {
if ((self.shirtImage.count == 0) || index >= self.shirtImage.count){
return TodayPicksViewController()
}
let vc: TodayPicksViewController = self.storyboard?.instantiateViewControllerWithIdentifier("TodayPicksViewController") as! TodayPicksViewController
vc.shirtName = self.shirtImage[index] as! String
vc.pantsName = self.pantsImage[index] as! String
vc.pageIndex = index
return vc
}
Ben buna benzer bir çalışma sayfası görünümü vardır başka proje var ve her şey mükemmel çalışıyor ve hemen hemen her şeyin üzerine kopyaladım, bu yüzden ana görünüm denetleyicisinden gelen değerin neden bu sayfada sayfa görünümüne geçmediğini anlayamıyorum. Herhangi bir yardım takdir edilir.
@ Paulw11 Takip ettiğimden emin değilim. Bunu nasıl yapmalıyım? – andrewxt
@andrewxt Görüntüyü UIImageView'e (örneğin, görüntüyü yanlış ayarlamak için sözdizimi) ayarladığınız veya görüntü adında bir sorunla karşılaştığınız bir sorununuz olduğunu düşünüyorum (tüm resimlerin doğru adlandırılmış olmayabilir)). Bunu aşağıya cevapladım, sadece söylediklerimi takip et! Yardım etmeli, yapmazsa haber ver. – owlswipe
@ Paulw11 Bunun, ana görüntü denetleyicisinde mi yoksa sayfa içeriği denetleyicisinde mi olduğunu mu düşünüyorsunuz? – andrewxt