UIModalTransitionStylePartialCurl无法恢复到以前的状态。 (不解雇)

时间:2011-12-22 16:15:00

标签: iphone objective-c ios modalviewcontroller presentmodalviewcontroller

我有2个视图控制器,让我们说A和B.在A中,我调用B来显示过渡样式UIModalTransitionStylePartialCurl

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

工作正常。但是当我按下用iOS 4.3编译的程序中的卷曲区域时。它根本没有解雇。它没有回到A视图控制器......

最有趣的是这个卷曲是活跃的,并在使用iOS 5.0编译的应用程序中给出响应。

如何解决此问题?
而且,为什么不关闭B视图控制器并返回A?

1 个答案:

答案 0 :(得分:1)

以下是Modal View Controllers

的Apple网站链接

基本上,您需要设置委托等。并从您的viewcontroller A调用di​​smissModalViewControllerAnimated:方法。如果您需要进一步的帮助,请告诉我。

根据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];
}