iOS:按钮背景图像在注释标注视图中未更改
iOS: Button backgroundImage not changing in Annotation Callout View
我有一个 MKMapView,其中包含许多表示商店的注释。当用户点击注释时,我会呈现一个自定义注释视图。此视图包含收藏夹按钮,可将商店添加到用户的收藏夹。
如果用户按下此按钮,它会将其 backgroundImage 属性 更改为另一张图片,表明其状态为最喜欢的商店。
出现的问题是当用户点击图像时图像没有改变。它正在调用该方法并将商店添加到它的收藏夹,但它没有更改图像。如果用户关闭标注,然后再次点击注释以查看标注,则按钮会显示正确的背景图像。
此问题只发生在 iOS7 设备上,但在 iOS7 模拟器和 iOS8 simulator/device.
上可以完美运行
如有帮助将非常感谢。
您是否使用像这样的代码来更改图像-
[btn setBackgroundImage:img1 forState:UIControlStateNormal];
[btn setBackgroundImage:img1 forState:UIControlStateSelected];
[btn setBackgroundImage:img1 forState:UIControlStateHighlighted];
并在按下 btn 时尝试这一行
[btn setNeedsDisplay];
首先为按钮的两种状态设置2张不同的图片。
[btn setBackgroundImage:img1 forState:UIControlStateNormal];
[btn setBackgroundImage:img2 forState:UIControlStateSelected];
然后在 buttonPress 事件上
设置
button.selected = !button.selected
我有一个 MKMapView,其中包含许多表示商店的注释。当用户点击注释时,我会呈现一个自定义注释视图。此视图包含收藏夹按钮,可将商店添加到用户的收藏夹。
如果用户按下此按钮,它会将其 backgroundImage 属性 更改为另一张图片,表明其状态为最喜欢的商店。
出现的问题是当用户点击图像时图像没有改变。它正在调用该方法并将商店添加到它的收藏夹,但它没有更改图像。如果用户关闭标注,然后再次点击注释以查看标注,则按钮会显示正确的背景图像。
此问题只发生在 iOS7 设备上,但在 iOS7 模拟器和 iOS8 simulator/device.
上可以完美运行如有帮助将非常感谢。
您是否使用像这样的代码来更改图像-
[btn setBackgroundImage:img1 forState:UIControlStateNormal];
[btn setBackgroundImage:img1 forState:UIControlStateSelected];
[btn setBackgroundImage:img1 forState:UIControlStateHighlighted];
并在按下 btn 时尝试这一行
[btn setNeedsDisplay];
首先为按钮的两种状态设置2张不同的图片。
[btn setBackgroundImage:img1 forState:UIControlStateNormal];
[btn setBackgroundImage:img2 forState:UIControlStateSelected];
然后在 buttonPress 事件上
设置
button.selected = !button.selected