Взяв текстовое поле ввода и вставив его в средство выбора в Swift 5.1 - PullRequest
1 голос
/ 27 февраля 2020

Я работаю над проектом для начинающих, который занимается сборщиками в swift 5.1. В настоящее время у меня есть средство выбора с некоторыми именами и двумя кнопками с именем Вставить и Заменить. Я хотел бы, чтобы пользователь мог ввести имя в текстовое поле и добавить это имя в средство выбора, если пользователь нажимает кнопку вставки, или это имя заменяет текущее выбранное имя в средстве выбора, если пользователь нажимает кнопку замены. кнопка. Под ним код, который у меня сейчас есть.

import UIKit

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource, UITextFieldDelegate {

    private let selectNames = [ "Charles", "Tim", "Bob", "Kim", "Lisa"]

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }


    @IBOutlet weak var picker: UIPickerView!
    @IBAction func onSelectPressed(_ sender: UIButton) {

        let row = picker.selectedRow(inComponent: 0)
        let selected = selectNames[row]
        let title = "You Selected \(selected)!"

        let alert = UIAlertController(
            title: title,
            message: "Thank you for choosing",
            preferredStyle: .alert)
        let action = UIAlertAction(
            title: "You're welcome",
            style: .default,
            handler: nil)
        alert.addAction(action)
        present(alert, animated: true, completion: nil)
    }



    //MARK:-
    // MARK: Picker Data Source Methods

    func numberOfComponents(in pickerView: UIPickerView) -> Int { return 1
    }
    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { return selectNames.count
    }

    // MARK: Picker Delegate Methods

    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { return selectNames[row]

    }


}

1 Ответ

0 голосов
/ 27 февраля 2020

На кнопке вставки вы создадите функцию, которая берет строку uitextfields и добавляет ее в массив selectNames.

Затем используйте selctNames.Count для количества строк.

refre sh средство выбора в функции, используемой для кнопки вставки.

...