将插图添加到情节提要中创建的文本字段?

add inset to textfield created in storyboard?

有没有办法在故事板中创建的现有 UITextField 中添加插图?我添加了约束,一个 IBOutlet 并使用 :

fromTF.textRectForBounds(CGRectInset(fromTF.bounds, 50, 0))   

但是没有插图。如果文本字段是动态创建的,是否只能添加插图?

可能有一种方法可以通过子类化 textField 来完成您想要做的事情。 (如果你走这条路,这可能会有所帮助:Text inset for UITextField?

或者,当我 运行 遇到这个问题时,我在情节提要中做了一些事情来提供文本插入的外观:

1.) 在 UITextField 的属性检查器中设置样式,使其没有边框或任何东西 - 应该只是一个可以点击并在其中输入文本的透明框。

2.) 然后在它后面创建一个容器 UIView 到你想要的文本字段区域的全宽。

3.) 减小 UItextfield 的宽度并将其与容器视图的右边缘对齐,以便左侧有适当数量的 space。

4.) 然后为您的容器和 UItextfield 添加一些约束。

textRectForBounds: 是一个函数,而不是 属性,您不能像您尝试的那样 "set"。检查 documentation for UITextField

You should not call this method directly. If you want to customize the drawing rectangle for the text, you can override this method and return a different rectangle.

如果您只想通过界面生成器显示插图,请按照阿达玛所说,在文本字段后面放置一个 UIView,使文本字段背景清晰,然后设置 UIView的背景颜色,使其看起来像是文本字段的背景。