2014-01-27 2 views
0

У меня есть запрос, который вытаскивает 10 ближайших объектов и отображает заголовок каждой кнопки в виде коллекции. То, что я пытаюсь сделать, - это действие, которое открывает новый контроллер представления, отображающий информацию об объекте, выбранном из представления коллекции. Мне нужна помощь в подключении выбранного объекта в действие кнопок. Я новичок в Xcode и могу использовать некоторые советы. Это код, определяющий запрос:отправить действие с кнопки в виде коллекции

int i = 0; 
     for (PFObject *object in objects) { 
      if (i >= [self.EventTitles count]) break;//to make sure we only write up to the max number of UILabels available in EventTitles 
      [(UIButton *)self.EventButtons[i] setTitle:[object objectForKey:@"name"] forState:UIControlStateNormal]; 
      [(UIButton *)self.EventButtons[i] addTarget:self action:(social:) forControlEvents:UIControlEventTouchUpInside]; 
      i++; 
         } 

И тогда есть код с действием

- (IBAction)social:(id)sender{ 

    UIActionSheet *share = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"Close" destructiveButtonTitle:nil otherButtonTitles:@"Call",@"Directions",@"Website",@"Checkin", nil]; 

    [share showInView:self.view]; 
} 


- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { 

    //Each button title we gave to our action sheet is given a tag starting with 0. 
    if (buttonIndex == 0) { 
     NSString* yourActualNumber = [NSString stringWithFormat:@"tel:%@",????????]; 
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:yourActualNumber]]; 
     NSLog(@"phone"); 
     //Check Twitter accessibility and at least one account is setup. 

    } 

Я просто не знаю, как подключить объект к действию, а затем отображать эту информацию на новом контроллере.

UPDATE: я обновил код с новой строкой в ​​запросе, однако он не сообщил, что действие социального не объявлено, но оно есть? Я также изменил действие, чтобы выполнить лист действий, а не новый контроллер представления. Теперь мне нужно подключение от объекта к действию и как правильно записать в объект для ключа в функции листа действия.

+0

** @ Selector (социальный:) ** – CoolMonster

ответ

0

Мне нужна помощь в подключении выбранного объекта к кнопкам действий.

[кнопка addTarget: само действие: @selector (DetailEvent1 :) forControlEvents: UIControlEventTouchUpInside]

, а затем отображать эту информацию на новом контроллере представления.

Я не знаю, что вы спрашиваете здесь, если вы уточнить, я буду стараться изо всех сил, чтобы помочь :)

+0

Я обновил код с новой строкой в ​​запросе, однако он не о том, что действие социального является необъявленным однако это? Я также изменил действие, чтобы выполнить лист действий, а не новый контроллер представления. Теперь мне нужно подключение от объекта к действию и как правильно записать в объект для ключа в функции листа действия. – user3205645

0

Вот пример, в котором отображается лист действий при выборе пункта , Я просто использую путь указателя на выбранный элемент, но я предполагаю, что у вас есть другие данные, которые вам нужно сохранить, поэтому делегат Action Sheet может его использовать.

-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { 
    NSString *str = [NSString stringWithFormat:@"Call number %d", indexPath.row]; 

    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:(id <UIActionSheetDelegate>)self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:str, nil]; 

    [actionSheet showInView:self.view]; 
} 
+0

То, что я пытаюсь сделать, это запустить запрос, чтобы показать вам 10 ближайших магазинов, и когда вы нажмете на одну из кнопок в представлении коллекции UIButton, он откроет лист действий, чтобы вы могли иметь возможность вызывать местоположение , Надеюсь, что поможет – user3205645

+0

Я отредактировал ответ на простом примере. Не забудьте подключить протокол UICollectionViewDelegate. –

Смежные вопросы