2012-06-16 3 views
0

Я только что закончил учебник по ios, и пока я могу манипулировать одним экраном, я не уверен, как реализовать «прослушиватель кнопок» и сообщить этой кнопке, чтобы перейти к другому представлению, на которое я говорю, чтобы он пошел.Как сделать действие кнопки одного контроллера в другом режиме?

Вот мой код до сих пор:

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController 

@property (weak, nonatomic) IBOutlet UIButton *homeToLearn; 

- (IBAction)homeToPlanBusiness:(id)sender; 
- (IBAction)homeToLearn:(id)sender; 
- (IBAction)homeToMyPlans:(id)sender; 
- (IBAction)homeToSettings:(id)sender; 

@end 

как мне сделать один из этих кнопок перейти к LeanController, что я сделал? Думаю, мне нужно сделать LearnView, но даже когда я это сделаю, как мне связать их вместе?

Спасибо!

ответ

1

Вы пытаетесь сделать это в коде, с раскадными досками или IB? Какую версию iOS вы пытаетесь настроить?

Вообще говоря, существуют два основных способа достижения того, что вы хотите сделать. Если вы хотите быть «навигация на основе» вы могли бы сделать что-то вроде этого после создания навигационного контроллера для работы с различными контроллерами Вид: [self.navController pushViewController:newLeanController animated:YES]

Если вы просто обмен мнениями вы можете сделать что-то вроде: [self.view addSubview:newLeanView]

+0

спасибо - я думаю, что ваш первый пример кажется чем-то, что я пытаюсь сделать. Я просто пытаюсь показать новое представление. Но как я могу сказать системе сделать это только на определенной кнопке, а не на других кнопках? – Genadinik

+1

Вы добавляете 'selector', т. Е. Метод, к целевому действию кнопки. Вы бы использовали 'addTarget: action: forControlEvents:' он выглядел бы примерно так: '[saveButton addTarget: self action: @selector (saveButton :) forControlEvents: UIControlEventTouchUpInside];' –

1

В Objective-C, IBActions или даже простые методы старого экземпляра не «прослушиваются», они подключены (буквально в Interface Builder) к кнопке, которая передает событие, когда оно коснулось. Чтобы перейти к другому виду, посмотрите на UINavigationController's documentation.

Независимо от IOS, Xcode, или SDK версии, любым способом, объявленного с обратным значением IBAction (а typedef из void абы), интерфейс строитель оповещают о том, что метод теперь доступен быть подключен к элементу интерфейса. В вашем случае кнопка, которую вы перетаскиваете на холст вашего XIB. В этот момент под вкладкой «Связи» для вашего класса вы перетаскиваете его действие на отправителя события (в данном случае на кнопку) и на альт, это все волшебное задание для вас, когда пера является разрхивированной.

1

Я не уверен, какой учебник iOS вы прошли, но большинство руководств познакомит вас с этими понятиями. Процесс привязки кнопок к действиям и переход между контроллерами представлений достаточно богат, чтобы он оправдывал собственный собственный учебник (и они там, например Ray Wenderlich; Stanford; Lynda; просто Google, и вы должны получить тонны хитов) , и никто из нас не может сделать это справедливо в простой ответ на ваш вопрос. Это еще сложнее, потому что ответ во многом зависит от множества разных вопросов (используете ли вы ARC? Используете ли вы раскадровки и т. Д.).

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