2015-04-23 86 views
3

我試圖設置自定義UITextField圖標的位置。但是當我更改imageView的框架的x和y值時,它仍然將它們放在左上角。Swift UITextField圖標位置

這裏是我的自定義UITextField類的viewWillAppear方法:

var imageView = UIImageView(); 
var image = UIImage(named: "user-icon.png"); 
imageView.image = image; 
imageView.frame = CGRectMake(100, 0, 20, 19); 
usernameTextField.leftView = imageView; 
usernameTextField.leftViewMode = UITextFieldViewMode.Always 

改變x和y參數在CGRectMake調用不起任何作用。

任何想法?我讀過這可能是由元素的AutoLayout功能引起的。但是,如果我刪除StoryBoard中的那個,然後XCode提醒我有關在多個設備上看起來不太好的應用程序...

+0

與此屬性相關聯的圖像應符合給定的矩形。如果它不合適,它會縮放以適合。如果您爲視圖指定了一個控件,控件將像往常一樣跟蹤併發送操作。 **根據蘋果文檔的UITextField ** https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UITextField_Class/index.html#//apple_ref/occ/instp/UITextField/leftView –

回答

2

其實您正在設置UIImageViewleftViewUITextField。所以它一直在左側。如果你想UIImageView右側,那麼有rightView選項。如果你想添加UIImageView到你的具體位置,那麼我建議你add as subview,而不是將其分配給leftViewrightView

希望這對你有所幫助。