Я пытаюсь использовать пользовательский uiview для библиотеки смахивания карточек в стиле трутов под названием Koloda, которая требует, чтобы я передавал uiview для каждой карты в стеке. Я пытаюсь использовать пользовательский интерфейс с соответствующими полями / информацией, и после тщательного тестирования я обнаружил, что генерация экземпляра uinib выдает ошибку «не соответствует кодировке значения ключа», несмотря на то, что все мои розетки подключены заказ.
Я попытался воссоздать все свои IBOutlets, зайдя так далеко, что просто начал заново с новым файлом XIB с новыми подключениями. Когда я перетаскиваю пользовательский интерфейс на контроллер представления в раскадровке и подгоняю его к своему пользовательскому типу, он не обнаруживает проблем, и я могу манипулировать его различными свойствами по желанию. Только при создании экземпляра пользовательского представления я получаю сообщение об ошибке.
class VoteCard: UIView {
@IBOutlet var contentView: UIView!
@IBOutlet weak var proPicImg: UIImageView!
@IBOutlet weak var nameLbl: UILabel!
@IBOutlet weak var homeLbl: UILabel!
@IBOutlet weak var ratingLbl: UILabel!
override init(frame: CGRect) {
super.init(frame: frame)
commonInit()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
commonInit()
}
func commonInit() {
Bundle.main.loadNibNamed("VoteCard", owner: self, options: nil)
contentView.fixInView(self)
}
class func instanceOf() -> VoteCard {
return UINib(nibName: "VoteCard", bundle: nil).instantiate(withOwner: nil, options: nil).first! as! VoteCard
}
}
Если все работает правильно, в моей стопке карт Koloda должны отображаться мои пользовательские карты, однако пока я не могу пройти поколение нового экземпляра.