Jump to content

Вопрос по storyboard


Recommended Posts

Уже сломал всю голову, вопрос к программисту. Есть главное предоставление на нем допустим 5 кнопок. Нужно чтобы в зависимости от того какая кнопка нажата менялся вид второго предоставления.

Использую эту штуку, она работает но текст метки на второй сцене не меняет.

 

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

 

{

if([segue.identifier isEqualToString:@"T"])

{

 

maxDetViewController *destination = segue.destinationViewController;

 

[destination nameText:@"Абвырлаг"];

destination.textLabel.text= @"qqqqqq"; }

}

 

Можно конечно для каждой кнопки сделать переход на новую сцену и там все что надо задать во viewDidLoad но быдлокодить не охото и так все коряво:)

Link to post
Share on other sites
  • 2 months later...

Вообщем теория выглядит так.

Каждый переход между контроллерами описывается классом UIStoryboardSegue, в его интерфейсе всего три свойства: identifier, sourceViewController, destinationViewController

У контроллера, у которого был начат переход вызывается метод

- (void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender

{

if ([[segue identifier] isEqualToString:@"showDetail"])

{

[[segue destinationViewController] setText:@"SecondViewController"];

}

else { [super prepareForSegue:segue sender:sender];

}

}

Вот как я сделал

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

{

if ([[segue identifier] isEqualToString:@"smen_1_2"])

{

grafikVar =1;

}

else if ([[segue identifier] isEqualToString:@"smen_1_3"])

{

grafikVar =2;

}

else if ([[segue identifier] isEqualToString:@"smen_2_2"])

{

grafikVar =3; }

}

В destinationViewController в методе viewDidLoad вызывается метод который проверяет чему равна переменная grafikVar и исходя из этого некоторые элементы скрываются некоторые подписываются как мне надо.

Может я извращенец конечно и можно все это сделать проще, но все работает.

Link to post
Share on other sites
  • 6 months later...
Guest pabloocean

расскажи как это сделал:"В destinationViewController в методе viewDidLoad вызывается метод который проверяет чему равна переменная grafikVar и исходя из этого некоторые элементы скрываются некоторые подписываются как мне надо."

Link to post
Share on other sites
  • 2 weeks later...

в том же классе я создал метод который возвращал мне это значение

+(NSUInteger)myGrafikAccessor

 

{

return grafikVar;

 

}

 

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

 

if ([MAXGrafikVariants myGrafikAccessor]==1

 

{

mainSwitch.on=true;

}

 

например

 

MAXGrafikVariants название класса где создавался этот метод и откуда осуществлялся переход

Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...