如何使用 Cosmicmind/Material TextField 将 TextField 的分隔线也放置在 LeftView 下

Posted

技术标签:

【中文标题】如何使用 Cosmicmind/Material TextField 将 TextField 的分隔线也放置在 LeftView 下【英文标题】:How to place the TextField's divider under the LeftView as well by using Cosmicmind/Material TextField 【发布时间】:2017-06-26 08:17:21 【问题描述】:

我正在使用材质库来使用 TextField。这就是默认实现(分隔线仅在文本区域下)。

有什么办法可以把分隔线放在LeftView/Image下面,减少Image和Text之间的差距(像这样)。

任何帮助将不胜感激。

【问题讨论】:

我没有材料库方面的经验。我的建议是使用您自己的自定义文本字段 让我们看看是否有任何快速解决材料的方法,否则我将制作自​​己的自定义文本字段。 【参考方案1】:

这可能是您的问题的解决方案.....

let leftView = UIImageView()
leftView.image = Icon.phone?.tint(with: Color.blue.base)

textField.leftView = leftView
textField.leftViewMode = .always

【讨论】:

没有。这四行代码产生了Soumen 想要避免的行为。 flavs's 解决方案解决了这个问题。【参考方案2】:

leftView 被布局时,它会将分隔线的边缘插入设置为等于它的(leftView)宽度。所以你需要改变它。我继承了TextField,所以我只是覆盖了layoutSubviews

override func layoutSubviews() 
    super.layoutSubviews()
    dividerContentEdgeInsets.left = 0

【讨论】:

以上是关于如何使用 Cosmicmind/Material TextField 将 TextField 的分隔线也放置在 LeftView 下的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Cosmicmind/Material TextField 将 TextField 的分隔线也放置在 LeftView 下

材料迅速:带有搜索栏和标签栏的 UIView 迅速移出视图 3

Capture API 在黑暗中效果不佳,尤其是在夜间或通过相机预览暗角时

[精选] Mysql分表与分库如何拆分,如何设计,如何使用

如果加入条件,我该如何解决。如果使用字符串连接,我如何使用

如何使用本机反应创建登录以及如何验证会话