在ios中只显示一次吐司或提醒或弹出视图?

时间:2017-08-30 05:25:45

标签: ios objective-c iphone

我有一个示例应用。应用程序包含toast当我登录屏幕进入主页视图加载吐司出现完全我的问题是toast show只在主页再次来到主页吐司不需要?但是当我再次登录时,我需要展示吐司。我怎样才能做到这一点。任何人都给出解决方案。

toast在viewDidLoad声明:

Reachability *reachability = [Reachability reachabilityForInternetConnection];
[reachability startNotifier];
NetworkStatus status = [reachability currentReachabilityStatus];
if(status == NotReachable)
{
    NSLog(@"No Internet.");
}

else if (status == ReachableViaWiFi)
{
    wifiImage.image = [UIImage imageNamed: @"wifi_green.png"];
    [self.view makeToast:@"Wifi Is Connected" duration:3.0 position:CSToastPositionBottom];
}

else if (status == ReachableViaWWAN)
{
    ethernetImage.image = [UIImage imageNamed: @"ethernet_green.png"];
    [self.view makeToast:@"Ethernet Is Connected" duration:3.0 position:CSToastPositionBottom];
}

4 个答案:

答案 0 :(得分:2)

您可以通过将登录状态保存到NSUserDefaults来实现此目的。您可以通过以下步骤实现相同目的。

  1. 保存bool以表示用户是否已登录

    [[NSUserDefaults standardUserDefaults] setBool:FALSE forKey:@"LoggedIn"];
    
  2. 检查用户之前是否已登录或首次登录并相应显示吐司。

    if([[NSUserDefaults standardUserDefaults] boolForKey:@"LoggedIn"] == FALSE)
    {
      [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"LoggedIn"];
      //show toast
    }
    else
    {
     //hide code for previously logged in user
    }
    
  3. 清除NSUserDefault值,或者您甚至可以在注销时将其重置为false。

    [[NSUserDefaults standardUserDefaults] setBool:FALSE forKey:@"LoggedIn"]; 
    

答案 1 :(得分:1)

将吐司的状态显示为NSUserDefaults中的BOOL值。在显示弹出窗口之前检查该变量的值。

if([[NSUserDefaults standardUserDefaults] boolForKey:@"ToastShown"] == FALSE)
 {
      [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"ToastShown"];
     // add your code
}

退出期间或didfinishlaunching

期间
  [[NSUserDefaults standardUserDefaults] setBool:FALSE forKey:@"ToastShown"];

答案 2 :(得分:0)

使用这三行简单代码

  if([[NSUserDefaults standardUserDefaults] boolForKey:@"toast"] == FALSE)
 {
  [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"toast"];
  [[NSUserDefaults standardUserDefaults] synchronize];
  //Toast code will go here...
 }

答案 3 :(得分:-1)

尝试使用主线程在3秒后切换UIButton的用户交互,以显示Toast的动作。