2011-04-19 68 views
1

您好 我正在做一个自定义的UITextField像这样:的UITextField输入文本位置

_textField.borderStyle=UITextBorderStyleNone; 
_textField.backgroundColor = _color; 
_textField.layer.borderColor = [[UIColor grayColor]CGColor]; 
_textField.layer.borderWidth = 1.0f; 
_textField.layer.cornerRadius = 8.0f; 
_textField.font = [UIFont systemFontOfSize:14]; 

结果我得到的是(图像URL)http://img402.imageshack.us/img402/4330/questionyd.jpg

问题:如何移动输入文字稍微向右,所以它不会触及边界? 我想我必须定义一些.frame属性,但不能确定哪一个。

谢谢! 路易

回答

4

您可以用空的UIView和一个小框设置leftView属性,则leftViewMode属性设置为UITextFieldViewModeAlways,让您的占位符视图总是使用。

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 5)]; 
_textField.leftView = view; 
_textField.leftViewMode = UITextFieldViewModeAlways; 
[view release]; 
+0

谢谢!有用 :) – 2011-04-19 22:10:19

4

您可以尝试创建自己的UITextField子类覆盖的方法:

-(CGRect)textRectForBounds:(CGRect)bounds 

设定自己的边界而不是处理默认。