在我的项目中,我们正在自定义UITextField以获取textField右侧的图标图像(如浏览器中的书签图标)。
功能是, 1)textField不应该是可编辑的
2)最初是黑色的右图标。
3)如果用户开始点击,图标图像将变为橙色。
4)如果用户发布,图标图像会变为原始状态(黑色)
实施了前2个点。 第3点覆盖了 UIControl :: beginTrackingWithTouch 方法,并将图标颜色更改为橙色。
请求您帮助实施最后一点。我无法获得发布事件以更改黑色图像。 尝试使用 touchesEnded ,但仅当用户从控件中退出时才会调用此方法。
任何人都可以帮助我识别用户点击结束的时间。
谢谢和问候。
答案 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)
覆盖以下方法: