Какао-Touch UIButton является выбранным разъяснением - PullRequest
0 голосов
/ 07 июля 2010

Я довольно новичок в программировании на Какао, но я довольно усердно работал над изучением языка, пока не наткнулся на эту загадку, которую я не могу обойти / взломать (не то чтобы яЯ бы хотел сделать это правильно!)

Где я стою, В 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, я знаю, что могу показать местоположение и установить выбранное так, как мне нравится, но я не могу "получить" выбранное свойство с помощью кнопки ... как правильно это сделатьэто?

1 Ответ

0 голосов
/ 07 июля 2010

попробуй

- (void)methodName:(UIButton *)sender
{
if (sender.selected == YES) ...
...