iPhone带圆角的文本输入

12

有没有一种明显的方法来制作一个具有圆角边缘的文本输入框?

我不是在谈论将UITextField的borderStyle设置为UITextBorderStyleRoundedRect。那只会给我圆角。

我说的是短信应用程序中使用的样式文本字段(在你点击发送之前),或者UISearchBar。我也看到它被用在第三方应用程序中(例如Facebook应用程序中的评论输入框)。

这是否可以使用标准的Cocoa Touch实现?还是我必须自己提供背景图像?

3个回答

20

您还可以在textField上设置角半径,这可能会为您提供足够的控制来获得所需的外观:

textField.layer.cornerRadius = 10;

请确保包含 #import <QuartzCore/QuartzCore.h> 来访问此内容。

(上面的答案可能更好;这个答案可能更容易理解)


这太好了。但是我只能更改UITextView的角落,而不能更改UITextField的角落。它适用于UITextField吗? - KatokichiSoft
是的,它适用于所有派生自UIView的内容。当你说你无法让它工作时,你是指什么?它不能编译,还是没有可见效果?如果是后者,你是否在UITextField上设置了borderStyle?当我这样做时,它成功地覆盖了它。 - justin
我发现这个程序非常计算密集,其中有15个大文本框都在单元格中,每个文本框都是圆角的,同时还要不停地滚动。 - oberbaum

5

如果要在iPhone上实现带有圆边的文本输入框:

  1. 引入#import <QuartzCore/QuartzCore.h>来访问它。

  2. textField.layer.cornerRadius = 10;

这是制作UITextField圆角边缘的最佳简单方法。


2

我认为最简单的方法是使用自定义背景。这里提供了UITextField类的完整API概述。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接