iphone - 无法让presentViewController 工作

标签 iphone xcode ipad presentmodalviewcontroller

我将一个工作 View Controller 类从另一个项目复制到一个新项目中。我无法在新项目中加载 View 。在旧项目中我使用了presentModalViewController。在新版本中,我无法使用presentModalViewController或presentViewController加载 View

我正在尝试从主视图 Controller 加载当前 View 。

这是我的主视图 Controller 界面的样子...

//  ViewController.h
#import <UIKit/UIKit.h>
#import "RequestDialogViewController.h"

@interface ViewController : UIViewController <RequestDialogViewControllerDelegate> {

}

- (void)requestDialogViewDidDismiss:(RequestDialogViewController *)controller withResponse:(NSString*)response;

我正在像这样使用presentModalViewController...

RequestDialogViewController *requestIPViewController = [[RequestDialogViewController alloc] initWithNibName:@"RequestDialogViewController"  bundle:nil];
navigationController = [[UINavigationController alloc] initWithRootViewController:requestIPViewController];
[self presentModalViewController:navigationController animated:YES];

像这样呈现ViewController...

RequestDialogViewController *requestIPViewController = [[RequestDialogViewController alloc] initWithNibName:@"RequestDialogViewController"  bundle:nil];    
[self presentViewController:requestIPViewController animated:YES completion:nil];

我在新项目中缺少什么? init 方法会触发,但 viewDidLoad 不会触发,并且不会显示任何内容。

谢谢

最佳答案

如果 ViewController 是 Root View Controller ,它无法从自己的 viewDidLoad 中呈现模态视图 Controller ,因为此时它没有信息比如屏幕尺寸。

如果其他 View Controller 已经显示,这将起作用。如果 Root View Controller 是 UINavigationController,您将看到一个 View 从右侧滑入,而模态视图从底部向上滑动。

无论如何,对于您的ViewController,您最快可以在它变得可见之后呈现它。为此使用计时器是不可靠的;较旧且速度较慢的设备的加载时间显着延长。

为了提高可靠性,请为 ViewController 实现 viewDidAppear:。仍然使用您的计时器系统来添加额外的延迟;不到一秒就足够了。尽管在 iOS 5.1 模拟器中从 viewDidAppear 中呈现模态视图 Controller 对我来说很有效,Presenting a modal view controller when loading another ViewController说有时不会发生。

关于iphone - 无法让presentViewController 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10147625/

相关文章:

ios - Xcode 6 中的未知类型名称错误

python - 通过命令行将文件添加到 Xcode 项目?在 Xcode 中使用 project.pbxproj 文件?

iphone - 如何将 UIImage 上传到文档中的特定文件夹?

ios - Swift Codable 无法仅自定义所需的按键

iphone - 如何在iPhone上将sqlite ReadOnly更改为ReadWrite?

ios - Paypal ios PaymentViewController 不工作?

objective-c - Objective C 中的单元测试 -> 如何复制 sqlite 数据库

iphone - 如何流式传输彩信 ://link on iPhone?

iphone - 在 iOS 中是否可以拥有一个模型/ View 并创建第二个 View 以在第二个屏幕上自动复制第一个 View ?

iphone - 如何在 iOS 中向左或向右滑动以推送或弹出 ViewController