当我尝试使用popToRootViewControllerAnimated
方法时,我的屏幕变黑了。我想我真的回到了预期的视图,因为如果我将设备旋转到横向,视图就会正确显示。
这是我的应用程序的上下文:
视图控制器 A 嵌套在导航控制器中。单击一个按钮会触发到 viewcontroller B 的 segue。在 viewcontroller B 的 viewDidLoad 方法中,会创建一个连接助手,以便在我们的服务器数据库上收集一些数据。在创建时,助手正在检查设备是否连接到互联网。如果不是,则调用“ popToRootViewControllerAnimated ”返回视图控制器 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 的视图正在滑动并出现黑屏。
正如我之前提到的,感觉就像我被带回了视图控制器 A(将设备从纵向旋转到横向显示视图),但视图看起来像是在屏幕框架之外。
希望我把一切都说清楚了。
谢谢