0

我有一个inputAccessoryView其中包括一个UIButton,但UIButton没有响应水龙头(甚至没有改变它的图像)。我不确定为什么。这是我相当简单的代码:

UIImageView *accessoryView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 60)];

UIButton *selectionModeOkButton = [[UIButton alloc] initWithFrame:CGRectMake(264, 11, 50, 46)];
[selectionModeOkButton setImage:[UIImage imageNamed:@"btn_count_ok_unpressed"] forState:UIControlStateNormal];
[selectionModeOkButton setImage:[UIImage imageNamed:@"btn_count_ok_pressed"] forState:UIControlStateHighlighted];
[selectionModeOkButton addTarget:self action:@selector(selectionModeOkButtonPressed) forControlEvents:UIControlEventTouchUpInside];
[accessoryView addSubview:selectionModeOkButton];

self.selectionModeTextField.inputAccessoryView = accessoryView;
4

1 回答 1

2

来自Apple 文档UIImageView

一个布尔值,用于确定是否忽略用户事件并将其从事件队列中删除。

该属性继承自 UIView 父类。此类将此属性的默认值更改为 NO。

这告诉您,默认情况下, newUIImageViewuserInteractionEnabled设置为NO。所以,添加这一行:

accessoryView.userInteractionEnabled = YES;

有关确切userInteractionEnabled工作原理的更多信息,请查看Apple 文档中UIView该属性的条目(继承该属性的类)。

于 2014-10-20T15:17:04.660 回答