一个更简单的解决方案,这需要的contentMode
优点:
arrow = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"down_arrow"]];
arrow.frame = CGRectMake(0.0, 0.0, arrow.image.size.width+10.0, arrow.image.size.height);
arrow.contentMode = UIViewContentModeCenter;
textField.rightView = arrow
textField.rightViewMode = UITextFieldViewModeAlways;
在夫特2,
let arrow = UIImageView(image: UIImage(named: "down_arrow"))
arrow.frame = CGRectMake(0.0, 0.0, arrow.image.size.width+10.0, arrow.image.size.height);
arrow.contentMode = UIViewContentMode.Center
self.textField.rightView = arrow
self.textField.rightViewMode = UITextFieldViewMode.Always
在夫特3,
let arrow = UIImageView(image: UIImage(named: "arrowDrop"))
if let size = arrow.image?.size {
arrow.frame = CGRect(x: 0.0, y: 0.0, width: size.width + 10.0, height: size.height)
}
arrow.contentMode = UIViewContentMode.center
self.textField.rightView = arrow
self.textField.rightViewMode = UITextFieldViewMode.always
的可能重复[插图文字为UITextField?](http://stackoverflow.com/questions/2694411/text-inset-for-uitextfield) – Zorayr
无,这是询问如何在文本字段中缩进显示为左视图的图像。不缩进文本本身。试试他的代码,你会发现将leftView设置为一个图像可以将图像放置在文本字段的左边缘,而不需要填充。它看起来很丑。 – stone