2

我在我的应用程序中使用 Google材料组件库的 TextFields 组件。

正如您在以下屏幕截图中看到的那样,文本输入与leadingView. 如何在它们之间添加一些边距?

这是我用来创建此文本字段的代码:

emailTextField.translatesAutoresizingMaskIntoConstraints = false
emailTextField.delegate = self
emailTextField.leadingView = UIImageView(image: UIImage(named: "MailIcon"))
emailTextField.leadingViewMode = .always

emailTextFieldController = MDCTextInputControllerUnderline(textInput: emailTextField)
emailTextFieldController?.placeholderText = "Email"
4

1 回答 1

1

下划线样式文本字段不再是推荐的设计。并且原始设计没有为前导视图指定填充常量。考虑改用填充控制器,该控制器在用户研究中表现得更好。

如果您必须坚持使用下划线,那么获得所需的布局非常容易。

  1. 确保您使用的是最新版本的MaterialComponents. pod update MaterialComponents如果您使用的是 CocoaPods ,这可能意味着您需要运行。
  2. 子类MDCTextInputControllerUnderline
  3. 覆盖该属性leadingViewTrailingPaddingConstant并返回您想要的任何填充。在 Objective-C 中,这看起来像:

- (CGFloat)leadingViewTrailingPaddingConstant { return 16.f; }

  1. 设置您的文本字段以使用您创建的新类。

顺便说一句,我们只是推动了轻松更改清除按钮颜色的功能。您可以通过设置属性将其设置为匹配下划线和文本textInputClearButtonTintColor

于 2018-07-05T15:50:19.557 回答