Программист начинающий Swift здесь и новый для переполнения стека.изменяет программно сделанный UIButton на UILabel внутри определенных текстовых полей или стеков?
Я пытаюсь сделать простой список задач/toDoPlanner, похожий на приложение напоминаний от Apple на iPhone.
Моя цель заключается в том, что, когда пользователь нажимает на UIButton в пределах определенного текстового поля (который находится в стеке), этот UIButton должен быть изменен на UILabel.
Вот как я могу сделать кнопку после того, как пользователь закончит печатать задание. Это прекрасно работает:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
self.view.endEditing(true)
if(textField == textField1) // if the first text field is pressed
{
let image = UIImage(named: "To Be Completed Circle.png")
button = UIButton(frame: CGRect(x: 340, y: 56, width: 30, height: 30));
button.setBackgroundImage(image, for: UIControlState.normal)
self.view.addSubview(button)
button.addTarget(self, action:#selector(self.pressed), for: .touchUpInside)
}
...
А потом вот как я пытаюсь изменить UIButton, когда пользователь нажимает на нее, чтобы изменить эту кнопку в UILabel:
func pressed(textField: UITextField!) {
let image = UIImage(named: "Checkmark.png")
if(textField == textField1)
{
button.removeFromSuperview()
let label = UILabel(frame: CGRect(x : 340, y :56, width: 30, height: 30))
label.backgroundColor = UIColor(patternImage: image!)
self.view.addSubview(label)
}
Весь если блок не и я не слишком уверен, почему. Я предполагаю, что это связано с отдельными свойствами UIButton и UITextField.
Любая помощь приветствуется, и любые другие советы по программированию в iOS полезны!
Дайте мне знать, если вам нужно больше деталей.
Вы можете легко просто сделать button.isEnabled = false для достижения аналогичного эффекта. Или скрыть и показать кнопку и/или метку соответственно. Оба варианта должны работать. – rMickeyD
То, что я пытаюсь сделать, - это тип пользователя в «задаче» в первом текстовом поле. После нажатия кнопки возврата рядом с задачей появится серый круг (кнопка). Я хочу, чтобы пользователь мог нажать эту кнопку, которая изменит серый круг на серый круг с красной галочкой (меткой), означающей, что задача выполнена. Означает ли это, что я пытаюсь сделать? – brownmamba
Я бы нажал кнопку и изменил изображение, связанное с кнопкой. Таким образом, каждый раз, когда они нажимают кнопку, он переключается между отмеченными и непроверенными. – rMickeyD