2011-04-19 61 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 

設定自己的邊界而不是處理默認。