2011-02-23 103 views

回答

20

您可能想要使用UITextFieldbackgroundborderStyle属性。将borderStyle设置为UITextBorderStyleNone,然后创建一个自定义背景图像作为background属性将被拉伸和使用。

我建议看看UITextField class reference中的那些属性。

2

只是使用下面的行,它应该工作

textfield_name.background = [UIImage的imageNamed:@ “yourImage.png”];

这里,“yourImage”是你想设置背景图片...

然而,这将只工作,如果你的心不是按钮,一个ROUNDRECT button.So,您可以更改按钮的类型界面生成器,也可以使用

textfield_name.borderstyle = UITextBorderStyleNone或UITextBorderStyleBezel

和你[R gud2go ....!

2

以uiimageview将其图像属性设置为您想要的图像作为uitextfield背景。在这个uiimageview的顶部放置一个uitextfield,并且边框没有。这可以直接在界面构建器中完成。如分为三个部分

UIImage *fieldBGImage = [[UIImage imageNamed:@"input.png"] stretchableImageWithLeftCapWidth:20 topCapHeight:20]; 
    [myUITextField setBackground:fieldBGImage]; 

认为文本字段的背景:

30

这是可以做到更好和更简单的可拉伸的图像。一个中间部分,可以拉伸并盖在两端。创建一个只需要足够长的图像以包含此重复部分的一个像素(一个非常短的文本字段),然后使用stretchableImageWithLeftCapWidth: topCapHeight创建一个可伸缩图像。将左端帽的宽度传入“leftCapWidth”。你也可以使它垂直拉伸,但是如果你的背景图像与你的文本框高度相同,它就不会有效果。

如果您熟悉Flash或Illustrator中的9切片缩放,它的概念完全相同,除了中间部分只有一个像素宽/高。

这样做的好处是您不必担心多个分层对象一起缩放,您可以随时调整文本字段的大小,并保持背景的完整性。它也适用于其他元素!

+0

对我表示感谢。 – 2013-04-24 18:38:38

17

你可以这样做:

yourTextField.borderStyle = UITextBorderStyleNone; 

yourTextField.background = [UIImage imageNamed:@"email-input.png"]; 

如果你想给保证金的文本框里面的文字,你可以这样做:

// Setting Text Field Margins to display the user entered text Properly 

UIView *paddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 20)]; 

yourTextField.leftView = paddingView; 
yourTextField.leftViewMode = UITextFieldViewModeAlways; 
7

您也可以通过这样做界面生成器。

Through Interface Builder

相关问题