Можно ли переопределить фрейм borderView MDCTextInputControllerFilled? - PullRequest
0 голосов
/ 08 мая 2018

У меня есть дизайн, который как можно больше с MDCTextField (с контроллером MDCTextInputControllerFilled). Я проверил компоненты и думаю, что должен переопределить контроллеры, но почему?

Если я на неправильном пути, можете ли вы помочь мне решить эту проблему?

Мой код тестирования ниже

tfc1?.placeholderText = "Test"
tfc1?.borderFillColor = UIColor.brown.withAlphaComponent(1)
if let f = tfc1?.textInput?.borderView?.frame {
    tfc1?.textInput?.borderView?.frame = CGRect(
        x: f.origin.x,
        y: f.origin.y + 25,
        width: f.width,
         height: f.height + 25
    )
}

1 Ответ

0 голосов
/ 24 мая 2018

Спасибо за ваше терпение. Я предполагаю, что только одна строка имеет значение, что делает это проще.

Похоже, что вам нужно текстовое поле с центром в контейнере, который на 25 выше поля.

Я бы подкласс MDCTextInputControllerFilled. В подклассе переопределить textInsets:. Вот начало в Objective-C:

- (UIEdgeInsets)textInsets:(UIEdgeInsets)defaultInsets {
  UIEdgeInsets textInsets = [super textInsets:defaultInsets];
  textInsets.top = 12.5;
  textInsets.bottom = 12.5;

  return textInsets;
}

Не настраивайте рамку вида границы напрямую. Он получает информацию из многих источников. Для тебя важны вставки.

...