2011-02-16 146 views
2

我正在研究一个需要访问Web服务器的应用程序。我试图展示一个如果没有互联网连接就会出现的视图......就像您在Facebook应用中看到的一样(link)。iPhone - 没有互联网连接显示

有关如何做到这一点的任何想法?我应该使用条件语句并显示一个单独的视图吗?

在此先感谢!

回答

3

这完全取决于您使用的导航结构类型。它使用标签栏吗?如果是这样,那么你会想要显示此消息的所有需要​​连接的标签栏是有用的。

在我的AppDelegate中,我总是存储可达性状态(请参阅http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html)。 即AppDelegate获知任何可达性改变并存储最新状态。我创建了返回true一个布尔方法,如果有网络连通性:

- (BOOL)reachable; 

然后,每当我需要做出决定,以显示“没有互联网连接的”我检查视图controlller的viewWillAppear中方法的可用性:

- (void) viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate]; 

    if (![appDelegate reachable]) { 
    // Add a subview that displays the "no internet connection" message 
    } else { 
    // Do your normal application flow.. 
    } 
} 
+0

太棒了!这是一个标签结构。我会试试这个,让你知道它是如何发展的。谢谢! – 2011-02-16 05:51:14