Как реализовать / показать следующий всплывающий текст над textField? - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь реализовать следующие функции в моем проекте iOS.Вот экран,

enter image description here

Если пользователь не вводит ничего или вводит неправильные данные в электронную почту и мобильные текстовые поля, я хочу показать вот так.

Случай 1 : если пользователь не вписал адрес электронной почты или указал неправильный адрес электронной почты, он отобразит сообщение / представление с «Ввести действующий адрес электронной почты»

Случай 2 : если пользователь не ввел номер мобильного телефона или неверный номер мобильного телефона, он отобразит сообщение / просмотр с «Ввести действительный номер мобильного телефона»

Как этого добиться с помощью swift?

Ответы [ 3 ]

2 голосов
/ 30 мая 2019

Вы можете использовать popoverPresentationController, чтобы получить popover на любом из ваших textFields.

1. Создайте UIViewController с UILabel внутри него.

class PopoverVC: UIViewController {
    @IBOutlet weak var textLabel: UILabel!

    var text: String?

    override func viewDidLoad() {
        super.viewDidLoad()
        self.textLabel.text = self.text
    }
}

enter image description here

2. В вас ViewController создайте экземпляр PopoverVC всякий раз, когда вы хотите представить message. Представьте его как popoverPresentationController и передайте экземпляр textField, над которым вы хотите представить message, т.е.

class ViewController: UIViewController, UIPopoverPresentationControllerDelegate {
    @IBOutlet weak var textField: UITextField!

    @IBAction func onTapButton(_ sender: UIButton) {
        let controller = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "PopoverVC") as! PopoverVC
        controller.text = "Enter valid Mobile Number"
        controller.modalPresentationStyle = .popover
        controller.preferredContentSize = CGSize(width: 300 , height: 70)

        let popover = controller.popoverPresentationController
        popover?.delegate = self
        popover?.permittedArrowDirections = .down
        popover?.sourceView = self.textField
        popover?.sourceRect = self.textField.bounds
        self.present(controller, animated: true, completion: nil)
    }

    func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
        return .none
    }
}

Выход:

enter image description here

0 голосов
/ 30 мая 2019

Я думаю, чтобы показать подчеркивание и маленькое изображение в правом конце UITextField, вы должны были выполнить подкласс UITextField.В том же подклассе вы можете добавить всплывающее представление как подпредставление и показать и скрыть в соответствии с вашими требованиями от методов делегата UITextField.

0 голосов
/ 30 мая 2019

Вы можете создать представление поверх них и скрыть его, а также, если электронная почта неверна.Вы могли бы показать представление .

...