我对Cocoa的编程很陌生,但是我一直在努力学习这门语言,直到我遇到这个我似乎无法绕过/破解我的方式的障碍,(不是我'我想。我宁愿做得对!)
我站在哪里,在IB中我有一个带有按钮的工具栏,我正在尝试做的是模仿地图应用程序。我希望能够按下按钮,然后弹出我的位置,同时保持按钮被选中,然后再次按下它,取消选择它,从而从地图中删除蓝色光点位置。
理想情况下,我想使用以下代码,但if语句似乎不想在模拟器上工作(如果我尝试在iPhone上,我认为不会改变。)
-(IBAction) showLocation: (id) sender
{
if([sender isSelected]) // this doesn't work!!
{
[sender setSelected:NO];
mapView.showsUserLocation = FALSE;
}
else
{
[sender setSelected:YES];
mapView.showsUserLocation = TRUE;
}
}
显然,如果我摆脱if语句,我知道我可以显示位置并设置我喜欢的选择,但我似乎无法从按钮“获取”所选属性...这是什么这样做的正确方法?
答案 0 :(得分:0)
试
- (void)methodName:(UIButton *)sender
{
if (sender.selected == YES) ...