iPhone:切换UITextField的rightView图标图像

时间:2012-06-25 10:12:37

标签: iphone uitextfield

在我的项目中,我们正在自定义UITextField以获取textField右侧的图标图像(如浏览器中的书签图标)。

功能是, 1)textField不应该是可编辑的

2)最初是黑色的右图标。

3)如果用户开始点击,图标图像将变为橙色。

4)如果用户发布,图标图像会变为原始状态(黑色)

实施了前2个点。 第3点覆盖了 UIControl :: beginTrackingWithTouch 方法,并将图标颜色更改为橙​​色。

请求您帮助实施最后一点。我无法获得发布事件以更改黑色图像。 尝试使用 touchesEnded ,但仅当用户从控件中退出时才会调用此方法。

任何人都可以帮助我识别用户点击结束的时间。

谢谢和问候。

2 个答案:

答案 0 :(得分:0)

IIRC,用户点击并按住书签图标?如果是,也许您可​​以使用UIButton:

UIImage *normalImage = [UIImage imageNamed:@"normal_image.png"];
UIImage *touchedImage = [UIImage imageNamed:@"touched_image.png"];

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 50, 50); // put your frame here

[button setImage:normalImage forState:UIControlStateNormal]; // Normal state image
[button setImage:touchedImage forState:UIControlStateHighlighted]; // Touched state image

答案 1 :(得分:0)

覆盖以下方法:

  • (void)endTrackingWithTouch:(UITouch *)触及withEvent:(UIEvent *)事件;
  • (void)cancelTrackingWithEvent:(UIEvent *)event;