я использую, чтобы были Tableview с заказными клетками, показывая магазины:Загружать пользовательские SubView программно, как если бы они были Cells?
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell : shopsTableViewCell = tableView.dequeueReusableCellWithIdentifier("shopCell", forIndexPath: indexPath) as! shopsTableViewCell
Но так как мы добавили вид прокрутки в главном окне, и яблоко не рекомендую/позволяют смешивать scrollView
и tableView
, я удалил таблицу и заменил пользовательские ячейки пользовательскими UIView
. Я хотел бы продолжить то же поведение: 1 - определить, сколько значений находится внутри массива. 2 - создать экземпляр UIView для каждого индекса массива 3 - установить UIView со значениями, такими как изображение, положение, ограничения и т. Д. 4 - Добавить его в текущий вид.
Я использую раскадровку, и я не вижу, как создать экземпляр UIView из раскадровки. Также этот UIView представляет собой подвид, который находится внутри ViewController.
Я сделал пользовательский класс UIView с выходами:
import Foundation
import UIKit
class connectedShop : UIView{
@IBOutlet weak var bannerViewHight: NSLayoutConstraint!
@IBOutlet weak var bannerViewTop: NSLayoutConstraint!
@IBOutlet weak var bannerViewLeft: NSLayoutConstraint!
@IBOutlet weak var bannerViewRight: NSLayoutConstraint!
@IBOutlet weak var banerDiscount: UIImageView!
@IBOutlet weak var bannerImageShop: UIImageView!
@IBOutlet weak var bannerTitle: UILabel!
@IBOutlet weak var bannerDescription: UILabel!
@IBOutlet weak var bannerButton: UIButton!
@IBAction func bannerButtonAction(sender: UIButton) {
}
}
В моей раскадровке я соединил подвид «подключенный магазин» для этого пользовательского класса. Также установите раскадровку Id в customView:
Я хочу, чтобы создать экземпляр этого пользовательского подвида, по одному для каждого подключенного магазина, как я использую, чтобы сделать в Tableview. Я попробовать это, но это сбой
let storyBoard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
let viewController = storyBoard.instantiateViewControllerWithIdentifier("customView")
Я также попытался создать новый пользовательский класс, без точек:
import Foundation
import UIKit
class customShop : UIView{
var bannerViewHight: NSLayoutConstraint!
var bannerViewTop: NSLayoutConstraint!
var bannerViewLeft: NSLayoutConstraint!
var bannerViewRight: NSLayoutConstraint!
var banerDiscount: UIImageView!
var bannerImageShop: UIImageView!
var bannerTitle: UILabel!
var bannerDescription: UILabel!
var bannerButton: UIButton!
}
и пытается это:
var connectedShop : customShop = customShop()
connectedShop.bannerTitle.text = "custom Shop"
self.view.addSubview(connectedShop)
Но он сбой с этой ошибкой:
fatal error: unexpectedly found nil while unwrapping an Optional value
Может ли кто-нибудь помочь мне с этим?
Я думаю, что это проблема навигации –