Эта строка создает новый вид:
target1 = MultiPositionTarget(.zero,"targetTemp.png","David","Target")
Новый вид не связан с видом, показанным на экране. Новое представление на самом деле вообще не отображается на экране, потому что вы не добавили его в иерархию представлений. Даже если вы это сделали, он невидим, потому что имеет нулевую рамку.
Короче говоря, вы не можете вызвать свой пользовательский инициализатор , а также создать свой вид в раскадровке. Вы можете инициализировать нужные свойства либо в раскадровке, либо в коде.
Если вы хотите инициализировать свойства также в раскадровке, вы можете изменить imageName
, bottomLabelName
и * 1014. * with @IBInsepctable
:
@IBInsepctable var targetName: String!
@IBInsepctable var bottomLabelName: String!
@IBInsepctable var imageName: String!
// or, if you want to directly select an image from the storyboard:
// @IBInsepctable var image: UIImage!
Таким образом, эти свойства будут отображаться в инспекторе свойств в раскадровке.
Если вы хотите инициализировать его в коде, вы должны установить его с помощью операторы присваивания, а не с инициализатором:
target1.targetName = "David"
target1.bottomLabelName = "Target"
target1.imageName = "targetTemp.png"
target1.parentVC = self
targetList.append(target1)