Как использовать presentModalViewController в iPhone / iPad? - PullRequest
1 голос
/ 08 февраля 2011

Привет, я очень новичок в разработке iPhone / iPad.

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

для этого я использую пример кода приложения Apple PhotoPicker. http://developer.apple.com/library/ios/#samplecode/PhotoPicker/Introduction/Intro.html

Но я не могу понять, что я сделал неправильно в своем коде.

Я не могу перейти в код, который находится в MyViewController.m

- (void)didFinishWithCamera
{
    [self dismissModalViewControllerAnimated:YES];
//Here is my some logic
}

Может ли кто-нибудь помочь мне в этом ... как вызвать эту функцию из OverlayViewController?

Пожалуйста, обратитесь по ссылке выше и проведите меня, или дайте мне некоторые шаги, или направьте меня для того же.

Ответы [ 2 ]

0 голосов
/ 08 февраля 2011

Вы также можете сделать это с помощью NSNotificationCenter.

Внутри MyViewController.m:

- (void)viewDidLoad 
{
    // your code

    // Add observers
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didFinishWithCamera) name:@"YourObserverName" object:nil];
}

+ (void)callDidFinishWithCamera
{
    [[NSNotificationCenter defaultCenter] postNotificationName:@"YourObserverName" object:nil];
}

- (void)dealloc 
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];

    // your code
}

Из OverlayViewController.m:

[MyViewController callDidFinishWithCamera];

Используйте метод вышеупомянутого класса для вызова didFinishWithCamera в MyViewController из OverlayViewController

0 голосов
/ 08 февраля 2011

использование делегирование .

Я использую что-то подобное в приложении, которое пишу сейчас:

// MySecretSelectionViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    [delegate mySecretSelectionViewController:self didSelectObject:[self objectForIndexPath:indexPath] atIndexPath:indexPath];
}

// MyViewController.m
- (void)mySecretSelectionViewController:(MySecretSelectionViewController *)es didSelectObject:(MySecretObject *)object atIndexPath:(NSIndexPath *)indexPath {
    // do something with the selected object
    [self dismissModalViewControllerAnimated:YES];
}

- (void)showMySecretSelectionViewController:(id)sender {
    MySecretSelectionViewController *vc = ...
    vc.delegate = self;
    // present ViewController
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...