Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 显示TTMessageController时,presentModalViewController未设置动画_Iphone_Objective C_Xcode_Three20_Presentmodalviewcontroller - Fatal编程技术网

Iphone 显示TTMessageController时,presentModalViewController未设置动画

Iphone 显示TTMessageController时,presentModalViewController未设置动画,iphone,objective-c,xcode,three20,presentmodalviewcontroller,Iphone,Objective C,Xcode,Three20,Presentmodalviewcontroller,我有一个TTMessageController的子类,它显示。。。但即使它应该是动画,它也不是动画。显示模式视图的代码如下所示(其中PostToWebMessageController是TTMessageController的子类: if (self.toWebMsgController == nil) { self.toWebMsgController = [[PostToWebMessageController alloc] init]; } UINavigationControl

我有一个TTMessageController的子类,它显示。。。但即使它应该是动画,它也不是动画。显示模式视图的代码如下所示(其中PostToWebMessageController是TTMessageController的子类:

if (self.toWebMsgController == nil) {
    self.toWebMsgController = [[PostToWebMessageController alloc] init];
}

UINavigationController *navController = [[UINavigationController alloc] init];
[navController pushViewController:self.toWebMsgController animated:NO];

[self presentModalViewController:navController animated:YES];
但是发生的情况是:屏幕变黑…键盘向上滚动进入视图…然后TTMessageController视图显示(未设置动画)。当我通过取消按钮取消视图时,屏幕变黑,然后消失(再次没有动画)

知道为什么会发生这种情况吗?我和很多其他TT*控制器都有过这种情况,但我无法让一个控制器通过MODALY显示来正确地设置动画

谢谢

更新:


这在我试图演示的每个UIViewController中都会发生。屏幕变黑,键盘向上动画,然后视图显示。你知道为什么会发生这种情况吗?

我不知道你为什么要使用UINavigationController。如果是因为你想让你的TowerMsgController控制器在运行时有导航条在模态视图中,尝试对代码进行以下更改:

if (self.toWebMsgController == nil) {
    self.toWebMsgController = [[PostToWebMessageController alloc] init];
}

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:toWebMsgController];

//[navController pushViewController:self.toWebMsgController animated:NO];

[self presentModalViewController:navController animated:YES];

如果您在模态视图中不需要导航条,您可能根本不需要UINavigationController。

一天就可以解决这个问题……希望有人能从我的痛苦中受益

以下是正在发生的事情:

调用presentModalViewController的UIViewController本身嵌套在另一个UIViewController中包含的UIScrollView中。显然,cocoa touch与此不同。无论如何,为了纠正此问题,我执行了以下操作:

  • 将UIViewController类型的属性添加到将显示模式视图控制器的UIViewController(例如,
    @property(非原子,保留)UIViewController*owningController;

  • 将该属性设置为最顶层的UIViewController(本例中包含UIScrollView的控制器)

  • 在显示模式视图的UIViewController中…更改此选项

  • [selfpresentModalViewController:控制器已设置动画:是]

    对此

    [owningController presentModalViewController:controller animated:YES];
    
    我也有同样的问题


    检查您的根控制器(如果您在其上显示控制器)for presentationStyle未设置为UIModalPresentationCurrentContext

    否…导致相同的行为。顺便说一句,我尝试过在没有导航控制器的情况下显示,行为也一样。嗯。我不确定它会是什么。我从来没有遇到过任何问题,用动画以模式显示TT*控制器。我从来没有使用过TTMessageController作为iPhoneSDK 3+有本机MFMailComposeViewController可用。你能从UIViewController类中正确显示非TT*控制器吗?事实上是的……现在我所有的控制器都出现了这种情况。我在项目中使用FTUtils、AsitpRequest和Three20,所以我想知道是否有冲突我收到了很多关于“RGBACOLOR”被重新定义的“警告”…但没有其他问题。不管是什么问题,我想可以肯定地说问题不是你发布的代码。祝你好运!嗨,我也遇到了同样的问题。你有什么代码可以共享吗?谢谢