0

我有一个带有许多表示商店的注释的 MKMapView。当用户点击注释时,我会呈现一个自定义注释视图。此视图包含一个收藏按钮,用于将商店添加到用户的收藏夹中。

如果用户按下此按钮,它会将其backgroundImage属性更改为另一个图像,以指示其作为收藏夹的状态。

正在发生的问题是当用户点击它时图像不会改变。它正在调用该方法并将商店添加到它的收藏夹中,但它没有更改图像。如果用户关闭标注,然后再次点击注释以查看标注,则按钮将呈现正确的背景图像。

此问题仅在 iOS7 设备上发生,但在 iOS7 模拟器和 iOS8 模拟器/设备上可以完美运行。

任何帮助都会很棒,谢谢。

4

2 回答 2

0

您是否使用这样的代码来更改图像-

     [btn setBackgroundImage:img1 forState:UIControlStateNormal];
    [btn setBackgroundImage:img1 forState:UIControlStateSelected];
    [btn setBackgroundImage:img1 forState:UIControlStateHighlighted];

并在按下 btnpress 时尝试这一行

[btn setNeedsDisplay];

于 2015-05-25T07:59:06.217 回答
0

首先为按钮的两种状态设置 2 个不同的图像。

[btn setBackgroundImage:img1 forState:UIControlStateNormal];
[btn setBackgroundImage:img2 forState:UIControlStateSelected];

然后在 buttonPress 事件上

button.selected = !button.selected
于 2015-05-26T05:11:46.080 回答