我有2个视图控制器,比如说A和B。在A中,我叫B以过渡样式UIModalTransitionStylePartialCurl
显示
[b setModalTransitionStyle:UIModalTransitionStylePartialCurl];
[self presentModalViewController:b animated:YES];
运行正常。但是,当我在用iOS 4.3编译的程序中按卷曲区域时。它根本不消除。它不会回到视图控制器...
最有趣的是,此卷曲是 Activity 的,并在使用iOS 5.0编译的应用程序中给出响应。
我该如何解决这个问题?
而且,为什么它不解雇B视图控制器并返回A?
最佳答案
这是Modal View Controllers到Apple网站的链接
基本上,您需要设置委托等。然后从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];
}