UIModalTransitionStylePartialCurl не возвращается в предыдущее состояние.(Не отмахиваясь) - PullRequest
2 голосов
/ 22 декабря 2011

У меня есть 2 контроллера представления, скажем, A и B. В A я вызываю B для отображения в стиле перехода UIModalTransitionStylePartialCurl

[b setModalTransitionStyle:UIModalTransitionStylePartialCurl];
[self presentModalViewController:b animated:YES];

Работает нормально.Однако, когда я нажимаю скрученную область в программе, скомпилированной с iOS 4.3.Это не уволить вообще.Он не возвращается к контроллеру представления ...

Что самое интересное, это то, что этот локон активен и дает ответ в приложении, скомпилированном с iOS 5.0.эта проблема?
Кроме того, почему он не закрывает контроллер представления B и не возвращается к A?

1 Ответ

1 голос
/ 22 декабря 2011

Вот ссылка на сайт Apple для контроллеров модального представления

По сути, вам нужно настроить делегата и т. Д. И вызвать dismissModalViewControllerAnimated: метод из вашего viewcontroller A.если вам нужна дополнительная помощь.

Редактировать для MiiChiel:

В файле BController.h добавьте:

@protocol BControllerDelegate <NSObject>
-(void)dismissMe;
@end

@interface BController : UIViewController
//...
@property (assign) id <BControllerDelegate> delegate;
//...
@end

В файле BController.m добавьте:

@implementation BController
@synthesize delegate;
//...
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self.delegate dismissMe];
}

Добавьте в файл AController.h:

#import "BController.h"

@interface AController : UIViewController  <BControllerDelegate>

Добавьте в файл AController.m:

//add this line before presenting the modal view controller B
bController.delegate = self;  // assuming bController is the name of the modal

-(void)dismissMe
{
    //call back from modal view to dismiss it
    [self dismissModalViewControllerAnimated:YES];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...