从UITextField调用的新视图控制器的问题Xcode

问题描述:

在我写的当前应用程序中,我有一个UITextField,它有一个链接。所以我想调用一个新的视图控制器而不是Safari。我可以在Safari中打开它,但我不希望用户离开我的应用程序。我做了一些研究,正在做以下工作。从UITextField调用的新视图控制器的问题Xcode

我犯了一个新的文件名为MyApplication的,放在.m文件里下面覆盖的OpenURL

#import "MyApplication.h" 

@implementation MyApplication 

- (BOOL)openURL:(NSURL *)url 
{ 
if ([self handleOpenURL:url]) 
    return YES; 
else 
    return [super openURL:url]; 
} 
- (BOOL)handleOpenURL:(NSURL *)url 
{ 
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"71"]; 
[self presentViewController:vc animated:YES completion:nil]; 

return YES; 
} 

@end 

在根据视图控制器属性检查我叫标题71.我也叫故事板ID和恢复ID 71只是为了确保!在main.m文件中,我用@“MyApplication”替换了第三个零,如你所见。

#import <UIKit/UIKit.h> 

#import "AppDelegate.h" 

int main(int argc, char *argv[]) 
{ 
@autoreleasepool { 
    return UIApplicationMain(argc, argv, @"MyApplication", NSStringFromClass([AppDelegate class])); 
} 
} 

但是,应用程序无法在方法,因为建立handleOpenURL我就行了

[self presentViewController:vc animated:YES completion:nil]; 

它说的“MyApplication的”不可见@interface声明选择“presentViewController得到一个错误:动画:完成:'我看到的所有示例和问题都使用了presentModal的弃用方法,但Xcode告诉我使用这个更新的方法presentViewController。那么有人知道我做错了什么吗?我必须错过一些东西,但是我不能为了我的生活而发现。预先感谢任何有关此事的见解!

+0

一个说明,当我输入[自我presentView ..... Xcode中不自动填充它有没有什么地方,我需要设置一个委托或什么? – Douglas 2013-02-18 13:16:49

可能是你缺少的:

#import <UIKit/UIKit.h> 
+0

感谢您的建议,但我已经导入它。 – Douglas 2013-02-22 13:53:12