2013-08-29 2 views
0

Я работаю над приложением iOS, где у меня есть две отдельные кнопки, которые вызывают и отображают UIViewController из файла .xib. Когда этот viewController отображается для пользователя, пользователь вводит данные, а затем отклоняет viewController и возвращается обратно в основное приложение, откуда он или она изначально. Моя проблема прямо сейчас заключается в том, что этот viewController, который вызывается, а затем уволен пользователем, активируется двумя разными кнопками, а данные, введенные пользователем, должны отслеживаться на основе того, какая кнопка вызывает его. Однако при создании и вызове viewController я честно не знаю, как передать значение тега из кнопок, которые отличали бы кнопку, вызывающую ее.Пытается передать значение тега UIButton при вызове UIViewController из файла .xib в iOS

Вот мой код, который создает и вызывает ViewController из файла .xib (и называется обоими кнопками):

- (IBAction)buttonClicked:(id)sender { 

    _nextView = [[NextViewController alloc] initWithNibName:@"NextViewController" bundle:nil]; 
    [_nextView setDelegate:(id)self]; 
    NextNavigationController *navigationController = [[NextNavigationController alloc] initWithRootViewController:_nextView]; 
    [self presentViewController:navigationController animated:YES completion:nil]; 

} 

Этот код прекрасно в вызове ViewController работает, но мне также нужно пройти с ним значение тега от кнопки, которая вызывает этот метод. Может ли кто-нибудь показать мне, как я могу это сделать?

Заранее благодарим всех, кто отвечает.

ответ

2
- (IBAction)buttonClicked:(UIButton *)sender { 

    _nextView = [[NextViewController alloc] initWithNibName:@"NextViewController" bundle:nil]; 
    [_nextView setDelegate:(id)self]; 
    _nextView.buttonTag = sender.tag; 
    NextNavigationController *navigationController = [[NextNavigationController alloc] initWithRootViewController:_nextView]; 
    [self presentViewController:navigationController animated:YES completion:nil]; 

} 

buttonTag будет целое свойство создавать в _nextView

0

Вы можете получить доступ к значению тега из самого отправителя

NSInteger tag = [(UIButton *)sender tag]; 

С уважением

0

Я не проверял это, но вы не можете привести объект отправителя к UIControl, а затем получить тег?

UIControl *view=(UIControl *)sender; 
NSInteger tagNo=view.tag; 
0

sender является ссылкой на эту кнопку. Просто измените тип отправителя на (UIButton*), и вы должны будете иметь возможность проверить наличие тега

- (IBAction)buttonClicked:(UIButton*)sender { 

    NSInteger tag = sender.tag; 
    (...) 

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