如何更改UITextField以使其看起来像搜索文本字段?

时间:2009-12-28 05:37:35

标签: iphone cocoa-touch iphone-sdk-3.0 uitextfield

我想更改标准iPhone UITextField,使其看起来与UISearchBar中的搜索文本字段完全相同。您可以在iPhone消息应用程序中查看SMS文本输入字段的示例。

我不相信UITextField具有符合此要求的样式属性。有什么想法吗?

3 个答案:

答案 0 :(得分:6)

如果需要,您实际上可以从uisearch栏中提取背景图像,并使其成为可伸缩的图像,以用作UITextField的背景。我做了同样的事情,它对我来说就像一个魅力。这是我用来提取它的代码:

UIImage *img = [[[self.searchBar subviews] objectAtIndex:1] background];
NSData *imgdata = UIImagePNGRepresentation(img);

NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectoryPath = [searchPaths objectAtIndex: 0];

[imgdata writeToFile:[documentsDirectoryPath stringByAppendingPathComponent:@"searchbarbg.png"] atomically:YES];

uisearchbar的第二个子视图是实际的文本字段;这可能会在未来的任何操作系统版本中发生变化。

这会将PNG保存到应用程序的文档目录中,您可以将其抓取并将其放入项目中并将其用作文本字段的背景。可拉伸图像的左上角和上限宽度为15像素。

答案 1 :(得分:0)

UITextBorderStyleRoundedRect怎么样?

textField.borderStyle = UITextBorderStyleRoundedRect;

您也可以使用UISearchBar并自行手动处理文本。

答案 2 :(得分:0)

iPhone OS 3.0似乎不支持此功能。我刚刚使用透明的UITextField和UIImageView作为背景。我相信这是官方iPhone短信文本输入的工作原理。