У меня есть функция для создания UIButton. Я вызываю этот метод в том же классе, используя объект его класса.не удалось создать UI, если функция вызывается из объекта класса
Если я вызываю эту функцию с помощью своего объекта, пользовательский интерфейс не создается. если я вызываю этот метод как только self.createbutton()
кнопка создана.
class myClass: UIViewController {
let mainview = UIStackView()
func createbutton() {
let loadpageview = UIStackView()
loadpageview.axis = UILayoutConstraintAxis.vertical
loadpageview.distribution = UIStackViewDistribution.equalSpacing
loadpageview.alignment = UIStackViewAlignment.center
loadpageview.tag = 30
loadpageview.spacing = 16.0
let buttn = UIButton()
buttn.backgroundColor = .gray
buttn.setTitle("testttt", for: .normal)
buttn.frame.size.height = 30
buttn.frame.size.width = 40
buttn.addTarget(self, action: #selector(loginaction), for: .touchUpInside)
loadpageview.addArrangedSubview(buttn)
mainview.addArrangedSubview(loadpageview)
}
func mainviewlet() {
mainview.axis = UILayoutConstraintAxis.vertical
mainview.distribution = UIStackViewDistribution.equalSpacing
mainview.alignment = UIStackViewAlignment.center
mainview.spacing = 16.0
mainview.tag = 50
mainview.translatesAutoresizingMaskIntoConstraints = false;
self.view.addSubview(mainview)
}
}
Если я создаю объект указанного класса и вызвать createbutton()
, он не будет работать
override func viewDidLoad() {
super.viewDidLoad()
self.mainviewlet()
let pl = myClass()
pl.createbutton()
}
Это работает, если я вызываю метод следующим образом:
override func viewDidLoad() {
super.viewDidLoad()
self.mainviewlet()
self.createbutton()
}
Что случилось Вот ? Как я могу вызвать метод, используя его объект. Далее я называю это из другого класса. Поэтому мне это нужно. Спасибо за любую помощь!
как я могу заставить его работать с другим экземпляром? Является ли это возможным ? – SunShine