UITextField中的图像右视图未出现

时间:2011-03-23 21:27:21

标签: iphone objective-c xcode

我有这个代码将一个26 x 30 .png文件添加到UITextField的右视图中。

//add button to address bar
//UIButton *refreshButton = [UIButton buttonWithType:UIButtonTypeInfoDark];
UIButton *refreshButton = [UIButton buttonWithType:UIButtonTypeCustom];
[refreshButton setImage:[UIImage imageNamed:@"refresh.png"] forState:UIControlStateNormal];
[refreshButton setImage:[UIImage imageNamed:@"refresh.png"] forState:UIControlStateHighlighted];
refreshButton.imageEdgeInsets = UIEdgeInsetsMake(0, -16, 0, 0);
[refreshButton addTarget:self action:@selector(refresh) forControlEvents:UIControlEventTouchUpInside];
addressBar.rightView = refreshButton;
addressBar.rightViewMode = UITextFieldViewModeUnlessEditing;

按钮是可触摸的并调用它应该的方法,但不显示图像。

任何想法?可能是图像对于文本字段来说太大了吗?我的文字字段是我从IB拖入的标准尺寸,所以我不认为是这样,但这是一个想法。

文本字段为245 x 31

1 个答案:

答案 0 :(得分:21)

您是否尝试在初始化UIButton时指定框架而不是使用类方法buttonWithType。我猜测如果没有它,文本字段无法确定按钮的大小。

[[UIButton alloc] initWithFrame:CGRectMake(0, 0, width, height)]