我有一个示例应用。应用程序包含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];
}
答案 0 :(得分:2)
您可以通过将登录状态保存到NSUserDefaults来实现此目的。您可以通过以下步骤实现相同目的。
保存bool以表示用户是否已登录
[[NSUserDefaults standardUserDefaults] setBool:FALSE forKey:@"LoggedIn"];
检查用户之前是否已登录或首次登录并相应显示吐司。
if([[NSUserDefaults standardUserDefaults] boolForKey:@"LoggedIn"] == FALSE)
{
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"LoggedIn"];
//show toast
}
else
{
//hide code for previously logged in user
}
清除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的动作。