У меня есть UIView на контроллере моего представления. И я хочу нарисовать некоторые этикетки программно на экране. Поэтому я подумал, что могу подклассифицировать его и в этом классе на UIView.Подклассификация Проблемы с UIview
Мой код:
import Foundation
import UIKit
class MainBottomView : UIView{
required init?(coder aDecoder: NSCoder) {
super.init(frame: UIScreen.main.bounds);
generateLabel(CGRect(x: 5, y: 363, width: 310, height: 62),tekst: "")
return;
}
func generateLabel(_ fr: CGRect,tekst: String){
let l = UILabel(frame: fr)
l.backgroundColor = UIColor(red: (21/255.0),green: (185/255.0),blue:(201/255.0),alpha:1)
l.textAlignment = NSTextAlignment.center
l.text = tekst
l.textColor = UIColor.white
l.font = UIFont(name: "HelveticaNeue", size: 23)
self.addSubview(l)
}
}
Но он выходит из строя при требуемой инициализации? ряд. Я не знаю, почему это происходит. Или я неправильно использовал подклассы?
Большое спасибо!
Я создал представление у своего контроллера представления, я дал это представление классу MainBottomView. Так что мне нужно заменить init() на init (coder :)? – da1lbi3
Я думаю, это то, что я сказал, не так ли? Просто возьмите 'fatalError' и положите свой вызов на' generateLabel' (и, конечно же, на 'super'). – matt
Я реализовал это немного по-другому, я подумал, что так лучше (см. Мой пост). Но он пока не работает. – da1lbi3