Компоненты материалов MDCTextField, добавленный в Xcode Interface Builder, не принимает ввод пользователя

Я использовал Cocoapods для интеграции MaterialsComponents с новым проектом Xcode и ввел Xcode через рабочую область. Затем я создал очень простой интерфейс с одним UITextField, добавленным в main.storyboard. Я сделал сборку без ошибок, а простой интерфейс позволяет мне вводить данные в UITextField.

Затем, скопировав пример кода Google на уроке MDC-111, я преобразовал UITextField в MDCTextField, чтобы посмотреть, работает ли специальная обработка Material Design текстового поля (т. Е. Текст-заполнитель перемещается вверх при вводе текста). У меня не было ошибок сборки, и проект правильно встроен в симулятор, но не позволяет вводить текст. Нажатие на поле не выводит клавиатуру и не принимает текст. Я попытался изменить "Взаимодействие с пользователем включено" с Вкл. На Выкл. И обратно на Вкл без эффекта. Это мой код контроллера Swift View:

import UIKit
import MaterialComponents

class ViewController: UIViewController, UITextFieldDelegate {

    @IBOutlet weak var helloText: MDCTextField!

    // MARK: Properties
    var helloController: MDCTextInputControllerOutlined?

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        helloController = MDCTextInputControllerOutlined(textInput: helloText)

    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

1 ответ

Я закрываю этот Вопрос, потому что добрые люди на сайте GitHub Materials Components решили его. Для информации я установил ограничение "Высота" для текстового поля, которое было слишком маленьким, чтобы позволить поведению MDC работать. Снятие ограничения позволило расширить поле до полного рабочего размера.

Другие вопросы по тегам