2013-03-11 3 views
0

Я разрабатываю приложение iOS, используя Xcode 4.6 для кода в Objective-C. У меня есть два экрана, соединенных push-сегу. В первом случае у меня есть текстовое поле, которое будет заполнено пользователем, а во втором - ярлык, и я хочу заполнить этот текст ярлыком первым текстовым текстовым полем экрана. У меня также есть 1 класс для каждого экрана, поэтому у меня есть FirstController.h, FirstController.m, SecondController.h, SecondController.m.Изменение текста меток

ответ

0

По мере того, как вы переходите от первого контроллера представления ко второму, вы можете выставить свою метку в качестве свойства в своем втором контроллере представления, а затем установить эту метку во время вашего первого метода управления представлением (вам нужно подклассифицировать это) с именем:

[UIViewController prepareForSegue: sender:]

+0

Как я могу использовать подкласс? Извините, что я новичок в Objective-C –

+0

Вы уже подклассифицированы, если у вас есть «« SecondViewController »(который является подклассом« UIViewController »), с которым автоматически запускается множество стартовых приложений. Похоже, вы сейчас очень близки. Вы преуспели? –

0

Убедитесь, что вы есть SEGUE создали. Затем Вы можете передать данные с помощью:

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

    SecondController *second = [segue destinationViewController]; 
    second.label.text = textBox.text; 

} 
+0

О, спасибо! И еще один вопрос, работает ли он, даже когда управление секцией контролируется кнопкой IBAction? Потому что теперь я получаю сообщение «Thread 1: Signal SIGABRT», когда я нажимаю кнопку, которая управляет секцией –

+0

. Я забыл пометить вас –

0

Если у вас есть свойство наклейки в вашем SecondViewController, вы можете использовать prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender метод, чтобы установить его текст после создания экземпляра SecondViewController и призывая к его собственности как

`secondViewController.myLabel.text = @"some text"; 

Если у вас есть ярлык в качестве переменной экземпляра, передать текст, используя NSString для текста этикетки на второй взгляд, как

`[email protected]"some text"; 

и в SecondViewController, установить текст ярлыка в viewDidLoad метод.

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