0

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

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

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

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

4)如果用户释放,图标图像会变成原来的状态(黑色)

前 2 点已落实。第三点覆盖了UIControl::beginTrackingWithTouch 方法并将图标颜色更改为橙​​色。

请求您帮助实施最后一点。我无法获得发布事件以更改黑色图像。尝试使用touchesEnded但这仅在用户离开控件时释放完成时调用。

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

谢谢并恭祝安康。

4

2 回答 2

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
于 2012-06-25T10:24:21.530 回答
0

覆盖以下方法:

  • (void)endTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event;
  • (void)cancelTrackingWithEvent:(UIEvent *)事件;
于 2012-06-25T10:26:56.067 回答