use*_*859 35 iphone xcode ipad presentmodalviewcontroller
我将一个工作的viewcontroller类从另一个项目复制到一个新项目中.我无法在新项目中加载视图.在旧项目中,我使用了presentModalViewController.在新的我无法使用presentModalViewController或presentViewController加载视图
我正在尝试从主视图控制器加载当前视图.
这是我的主视图控制器界面的样子......
// ViewController.h
#import <UIKit/UIKit.h>
#import "RequestDialogViewController.h"
@interface ViewController : UIViewController <RequestDialogViewControllerDelegate> {
}
- (void)requestDialogViewDidDismiss:(RequestDialogViewController *)controller withResponse:(NSString*)response;
Run Code Online (Sandbox Code Playgroud)
我正在使用这样的presentModalViewController ......
RequestDialogViewController *requestIPViewController = [[RequestDialogViewController alloc] initWithNibName:@"RequestDialogViewController" bundle:nil];
navigationController = [[UINavigationController alloc] initWithRootViewController:requestIPViewController];
[self presentModalViewController:navigationController animated:YES];
Run Code Online (Sandbox Code Playgroud)
和presentViewController这样......
RequestDialogViewController *requestIPViewController = [[RequestDialogViewController alloc] initWithNibName:@"RequestDialogViewController" bundle:nil];
[self presentViewController:requestIPViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
我在新项目中缺少什么?触发init方法,但viewDidLoad不会触发,也不会显示任何内容.
谢谢
Don*_*mer 85
如果ViewController
是根视图控制器,则它不能在其自身内呈现模态视图控制器viewDidLoad
,因为此时它没有像屏幕大小那样的信息.
如果已经显示其他视图控制器,则这将起作用.如果根视图控制器是a UINavigationController
,则当模态视图从底部向上滑动时,您将看到从右侧滑入的视图.
无论如何,对于你来说ViewController
,你最快可以呈现它是在它变得可见之后.使用计时器是不可靠的; 较旧和较慢的设备具有显着更长的加载时间.
对于更高的可靠性,实现viewDidAppear:
了ViewController
.仍然使用您的计时器系统添加额外的延迟; 几分之一秒就足够了.虽然viewDidAppear
在iOS 5.1模拟器中为我提供了模态视图控制器,但在加载另一个ViewController时呈现模态视图控制器说它有时不会发生.
归档时间: |
|
查看次数: |
58430 次 |
最近记录: |