我的應用程序中我想實現一項功能,我在我的應用程序中有一個按鈕,並且我希望當網絡從iOS設備中丟失時,此按鈕應該自動變爲禁用,並且當再次使網絡可用時,則按鈕應該變爲啓用。當網絡在ios設備中不可用時禁用UIButton的用戶交互
這應該在每次設備網絡連接丟失或變爲可用時自動完成。
我沒有得到任何方式或任何類型的線索來實現這一功能,如果有人知道如何在iOS應用程序中實現此功能,那麼請幫助我。
提前致謝。
我的應用程序中我想實現一項功能,我在我的應用程序中有一個按鈕,並且我希望當網絡從iOS設備中丟失時,此按鈕應該自動變爲禁用,並且當再次使網絡可用時,則按鈕應該變爲啓用。當網絡在ios設備中不可用時禁用UIButton的用戶交互
這應該在每次設備網絡連接丟失或變爲可用時自動完成。
我沒有得到任何方式或任何類型的線索來實現這一功能,如果有人知道如何在iOS應用程序中實現此功能,那麼請幫助我。
提前致謝。
可以使用的NSTimer並在該定時器可以每2秒後撥打可達性類的BOOL功能,使其重複是返回的虛假
NSTimer* internetTimer;
internetTimer=[NSTimer scheduledTimerWithTimeInterval:2.0f target:self selector:@selector(checkInternet) userInfo:nil repeats:YES];
-(void)checkInternet{
if([self isInternetAvailable])
{
//enable button
}
else
{
//disable button
}
}
-(BOOL)isInternetAvailable()
{
Reachability *networkReachability = [Reachability reachabilityForInternetConnection];
NetworkStatus networkStatus = [networkReachability currentReachabilityStatus];
return !(networkStatus == NotReachable);
}
真,您可以找到可達類.H和.m在這裏。只需在你的項目中添加這兩個文件。 https://github.com/tonymillion/Reachability
如果您在模式ARC,可能是你也必須設置FNO標誌爲.M
你也可以(在viewDidLoad中IE)的某個位置添加一個觀察者的可達性:
Reachability *reachabilityInfo;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(myReachabilityDidChangedMethod)
name:kReachabilityChangedNotification
object:reachabilityInfo];
我相信你正在使用可達性類進行網絡狀態檢測。所以,你可以在網絡狀態變化的檢測與此代碼段
註冊[:自我選擇:@選擇(reachabilityHasChanged :)名稱:kReachabilityChangedNotification對象:[NSNotificationCenter defaultCenter]的addObserver零]。
現在,您可以撥打startNotifier你可達對象
[self.internetReachability startNotifier]
和方法內reachabilityHasChanged可以捕捉到狀態變化對所有3種狀態即ReachableViaWiFi,ReachableViaWWAN和NotReachable。現在從不可訪問的情況下,您可以禁用按鈕,如:
myButton.enabled = NO;
並且從可訪問狀態您可以再次啓用它。
你必須閱讀https://developer.apple.com/library/ios/samplecode/Reachability/Introduction/Intro.html
蘋果的文檔和源代碼可用且可到達性/ APLViewController.m你會發現所有的答案我。e如何觀察網絡更改通知以及如何更新您的按鈕狀態(啓用/禁用),甚至您可以更新您的用戶界面