Как изменить верхний и нижний отступ текста в MaterialDesign Overlined Textfield в iOS? - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь изменить верхнюю и нижнюю части текста в текстовом поле дизайна материала.

Я уже пытаюсь применить схемы форм и типографики, но это не дало эффекта.

textfield with default padding

Это мой код:

// Outlet
@IBOutlet weak var nameTextField: MDCTextField!

// Implementation
nameTextField.placeholder = "Nome"
nameTextField.delegate = self
let nameTextFieldController = MDCTextInputControllerOutlined(textInput: nameTextField)

Как я могу изменить эти пробелы?

**** ОБНОВЛЕНИЕ ****

После изменения textRect путем переопределения MDCTextField я получаю следующий результат.Это большой прогресс.Но как я могу изменить размер рамки для соответствия тексту?

enter image description here

1 Ответ

1 голос
/ 29 мая 2019

Если вы можете расширить класс MDCTextField, переопределите этот метод:

        override func textRect(forBounds bounds: CGRect) -> CGRect { 
         return bounds.inset(by: UIEdgeInsets(top: 10, left: 0, bottom: 10, right: 0)) 
        } 

Измените значения top и bottom по своему желанию.

Если вы не можете получить доступ/ изменить или расширить класс MDCTextField, или, если он уже имеет реализацию textRect(:forBounds), вы можете создать свой собственный класс UITextField, например:

       class MyTextField: UITextField{
           ...
       }

ПРИМЕЧАНИЕ: Вы даже можете попытаться унаследовать MDCTextField класс:

       class MyTextField: MDCTextField{
           ...
       }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...