Я пытаюсь создать пользовательский интерфейс программно. Как заставить это действие работать? Я развиваюсь со Swift.
Код в viewDidLoad:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let myFirstLabel = UILabel()
let myFirstButton = UIButton()
myFirstLabel.text = "I made a label on the screen #toogood4you"
myFirstLabel.font = UIFont(name: "MarkerFelt-Thin", size: 45)
myFirstLabel.textColor = UIColor.redColor()
myFirstLabel.textAlignment = .Center
myFirstLabel.numberOfLines = 5
myFirstLabel.frame = CGRectMake(15, 54, 300, 500)
myFirstButton.setTitle("✸", forState: .Normal)
myFirstButton.setTitleColor(UIColor.blueColor(), forState: .Normal)
myFirstButton.frame = CGRectMake(15, -50, 300, 500)
myFirstButton.addTarget(self, action: "pressed", forControlEvents: .TouchUpInside)
self.view.addSubview(myFirstLabel)
self.view.addSubview(myFirstButton)
}
func pressed(sender: UIButton!) {
var alertView = UIAlertView();
alertView.addButtonWithTitle("Ok");
alertView.title = "title";
alertView.message = "message";
alertView.show();
}
pressed
функция принимает аргумент.Swift 2.2 Xcode 7.3
Поскольку строковые литералы Objective-C теперь устарели для методов обратного вызова кнопок
Swift 3 Xcode 8
Swift 4 Xcode 9
источник
Swift 4/5
источник
Swift 4
источник
Ага в симуляторе. Иногда он не распознает селектор, это кажется ошибкой. Даже я столкнулся не с вашим кодом, тогда я просто изменил название действия (селектор). Оно работает
Пример функции селектора находится здесь:
источник
Вы должны иметь возможность программно создать кнопку настройки пользовательского интерфейса, обратившись к свойству titleLabel UIButton .
Per Class Reference в Swift: Что касается titleLabel собственности, он говорит , что «хотя это свойство только для чтения, его собственные свойства для чтения / записи Использование этих свойств в первую очередь настроить текст кнопки..»
В Swift вы можете напрямую изменять свойства titleLabel следующим образом:
редактировать
Синтаксис Swift 3.1
источник
попробуйте это ... надеюсь, это поможет ...
это событие нажатия кнопки ..
источник
Swift 3: вы можете создать
UIButton
программныйлибо внутри области методов, например, в
ViewDidLoad()
Обязательно добавьте ограничения к кнопке, иначе вы ее не увидитеили вне вашей области в качестве глобальной переменной, чтобы получить к ней доступ из любого места в вашем
module
а затем вы устанавливаете ограничения
источник
Swift: кнопки пользовательского интерфейса создают программно,
источник
Расширение Swift «фабрика кнопок» для UIButton (и пока мы на нем) также для UILabel, например:
Протестировано в Swift в Xcode версии 9.2 (9C40b) Swift 4.x
источник
Swift: кнопки пользовательского интерфейса создают программно
источник
Для Swift 3 Xcode 8 .......
источник
UIButton с ограничениями в
iOS 9.1/Xcode 7.1.1/Swift 2.1
:Кнопка привязана к нижнему левому углу над панелью вкладок.
источник
getCurrentLocation
пожалуйста, как это поможет нам определить местоположение?В Swift мы можем создать кнопку программно, написав этот код в нашем файле viewcontroller.swift ...
источник
источник
Swift 4.2 - XCode 10.1
Использование закрытия
источник
В iOS 12, Swift 4.2 и XCode 10.1
источник
Swift 5.0
источник
Если вы перейдете в основную часть раскадровки и в правом нижнем углу перейдете к кругу с квадратом и воспользуетесь пустой кнопкой. Затем в коде используйте с ним @IBAction, чтобы подключить его. Затем вы можете создать с ним функцию @IBAction.
источник