当我尝试使用popToRootViewControllerAnimated
方法时,我的屏幕变黑。
我想我确实回到了预期的视图,因为如果我将设备旋转到横向,则视图会正确显示。
以下是我的申请背景:
viewcontroller A嵌套在导航控制器中。单击按钮会触发segue到viewcontroller B.在viewcontroller B的viewDidLoad方法中,创建了一个连接助手,以便在我们的服务器数据库上收集一些数据。在创建帮助程序时,检查设备是否已连接到Internet。如果不是那么“ popToRootViewControllerAnimated ”被调用以返回到viewcontroller A。
以下是帮助者的代码:
+(AFHTTPClient*) getClient {
if (!client) {
[self createClient];
}
if (client.networkReachabilityStatus <AFNetworkReachabilityStatusReachableViaWWAN) {
[currentController.navigationController popToRootViewControllerAnimated:YES];
//[[[UIAlertView alloc] initWithTitle:@"Connection Problem" message:@"You don't seem to be connected to internet. Please enable WI-Fi or 3G then try again." delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil] show];
client = nil;
}
return client;
}
+(void) createClient{
NSURL* baseUrl = [NSURL URLWithString:[[@"http://" stringByAppendingString:[ApplicationTask GetApiUrl]] stringByAppendingString:@"/"]];
client = [AFHTTPClient clientWithBaseURL:baseUrl];
client.parameterEncoding = AFJSONParameterEncoding;
[client registerHTTPOperationClass:[AFJSONRequestOperation class]];
[client setDefaultHeader:@"Accept" value:@"application/json"];
[client setDefaultHeader:@"Content-Type" value:@"application/json"];
}
一旦调用了“popToRootViewControllerAnimated”方法,我就可以看到来自控制器A的视图滑动并显示黑屏。
正如我之前提到的,感觉就像我被带回了viewcontroller A(将设备从纵向旋转到横向显示视图)但视图看起来就像在屏幕的框架之外。
希望我把事情弄清楚。
由于
答案 0 :(得分:1)
正如我在评论中提到的那样,在viewDidAppear方法中弹出到根控制器似乎可以解决问题。