簡體   English   中英

pushViewController導致黑屏

[英]pushViewController leads to a black screen

我有一個iOS項目(不使用Storyboards),該項目具有2個UITextField和1個按鈕(登錄屏幕)。 用戶單擊該按鈕時,它將啟動到服務器的POST,如果用戶在數據庫中,則該服務器將返回“ 1”。 然后,轉到另一個屏幕。

問題是該屏幕顯示黑色。 這是我的代碼:

在requestFinished方法中:

if([responseString2 isEqualToString:(@"1")]){
termsViewController *termscreen=[[termsViewController alloc]init];
    [[self navigationController] pushViewController:termscreen animated:YES];
}

在委托類的initDiddidFinishLaunchingWithOptions方法中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.viewController = [[firstViewController alloc] initWithNibName:@"firstViewController" bundle:nil];
self.window.rootViewController = self.viewController;
//
UINavigationController *navcontroller= [[UINavigationController alloc]initWithRootViewController:self.viewController];
[[self window]setRootViewController:navcontroller];
[self.window makeKeyAndVisible];    
return YES;

}

它轉到另一個屏幕,顯示導航欄...但是屏幕為黑色。 我是iPhone開發的新手,所以可能會缺少一些東西。

誰能幫我?

提前致謝。

我想您沒有分配nib文件。 嘗試這個:

termsViewController *termscreen=[[termsViewController alloc] initWithNibName:@"termsViewController" bundle:nil];

我假設您的視圖控制器變量的名稱為termsViewController ,可以根據需要進行更改。 我希望這有幫助。 快樂的編碼:-)

我認為發生這種情況是因為您的第二個視圖控制器不在導航控制器內部。 創建導航控制器時,必須向其添加對象數組,以便其知道要推送的內容。

程式碼片段:

UINavigationController *navContr = [[UINavigationController alloc]init];
FirstViewController *firstViewContr = [[FirstViewController alloc] init];
MapViewController *mapContr = [[MapViewController alloc] init];
NSArray *vcArray = [NSArray arrayWithObjects: mapContr, firstViewContr, nil];
[navContr setViewControllers:vcArray];
[self.window setRootViewController:navContr];
[self.window makeKeyAndVisible];
return YES;

可能是您沒有實施(或刪除)

- (void)loadView
{
    // If you create your views manually, you MUST override this method and use it to create your views.
    // If you use Interface Builder to create your views, then you must NOT override this method.
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM