我有2个视图控制器,让我们说A和B.在A中,我调用B来显示过渡样式UIModalTransitionStylePartialCurl
[b setModalTransitionStyle:UIModalTransitionStylePartialCurl];
[self presentModalViewController:b animated:YES];
工作正常。但是当我按下用iOS 4.3编译的程序中的卷曲区域时。它根本没有解雇。它没有回到A视图控制器......
最有趣的是这个卷曲是活跃的,并在使用iOS 5.0编译的应用程序中给出响应。
如何解决此问题?
而且,为什么不关闭B视图控制器并返回A?
答案 0 :(得分:1)
基本上,您需要设置委托等。并从您的viewcontroller A调用dismissModalViewControllerAnimated:方法。如果您需要进一步的帮助,请告诉我。
根据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];
}