文本字段呈现

时间:2011-04-23 16:54:01

标签: cocoa xcode macos interface-builder xcode4

我正在尝试使用Interface Builder(XCode 4)构建一个非常简单的NSTextField,但是使用默认值渲染时非常奇怪:
Current rendering

我改变的唯一设置是边框样式:
enter image description here

我的问题:

如何在Safari中显示整齐的文本字段“方形但有圆角”:
Safari Text Field

如何删除那些削减焦点的“overflow:hidden”(对不起CSS描述)?< Interface Builder错误,已修复。

我应该设计自己的基于图像的组件吗?

谢谢!

3 个答案:

答案 0 :(得分:3)

您在顶部的内容是NSSearchField,用于过滤/搜索。

可能之所以聚焦环被切断的原因是因为你已经把它放在一个盒子里或者重叠另一个物体。不要那样做。

没有标准的圆角(与圆端相对)文本字段;如果你想要一个,你需要自己子类化NSTextField,或者只是等待Lion,标准文本字段将有圆角。

答案 1 :(得分:3)

我想我已经找到完全你正在寻找什么。这是它的样子: enter image description here

它叫做 SSTextField 。在此处下载子类:http://cocoatricks.com/2010/06/a-better-looking-text-field/

答案 2 :(得分:2)

圆角矩形文本字段非常简单,不需要对控件进行子类化。相反,您可以简单地覆盖控件的背景CALayer的绘制方式。

选择方形角形字段形状,将QuartzCore框架添加到项目中,然后#import <QuartzCore/QuartzCore.h>。在控制器的viewDidLoad方法中,您将修改文本字段的图层cornerRadius属性,la:

myTextField.layer.cornerRadius = 6.0;

噗,圆角矩形文字字段!