如何使用 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