是否可以覆盖MDCTextInputControllerFilled的borderView框架?

时间:2018-05-08 07:48:46

标签: ios swift material-components material-components-ios

我的设计与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 :(得分:1)

感谢您的耐心等待。我假设只有单行问题,这使得这更简单。

看起来你想要一个文本字段,它位于一个比字段高25的容器中。

我会继承MDCTextInputControllerFilled。在子类中覆盖textInsets:。这是Objective-C的一个开始:

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

  return textInsets;
}

不要直接调整边框视图的边框。它从很多来源获取信息。对你来说重要的是插图。