iOS 点击tabBar弹出登录窗口
来源:互联网 发布:电脑网络连接在哪里找 编辑:程序博客网 时间:2024/03/29 12:50
之前自己也写过一次,但是无意中发现系统自带的更简单明了,因而优化下自己的代码,以后也自己长个记性–>多看苹果API,好吧,言归正传!!!
1、新建tabbar类,继承于UITabBarController
//这个属性是用来记录跳转窗口出来之前选择的index
@property (nonatomic, assign)NSInteger oldSelectIndex;
2、viewdidload里面实现UITabBarController的代理
self.delegate = self;
//UITabBarControllerDelegate
-(BOOL)tabBarController:(UITabBarController*)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
self.oldSelectIndex = tabBarController.selectedIndex;// 记录之前选择的selectedIndexreturn YES;
}
/* 在 tabBar 切换前 shouldSelectViewController 获取到旧的界面的 index ,在切换的 delegate , didSelectViewController 中加入判断,若已经登录,不做操作,若未登录,将当前的 tabBarController 的 selectedIndex 设置为 self.oldSelectIndex ,登录成功之后再把 tabBarController 的 selectedIndex 设置为所需显示的界面,失败不做操作
*/
-(void)tabBarController:(UITabBarController*)tabBarController didSelectViewController:(UIViewController*)viewController
{
if (tabBarController.selectedIndex == 1) {//此处判断是否登录、如果未登录需要执行弹出登录页面的操作 if (![LogInDataManager isLogin]) { //未登录将tabbar的selectedIndex设置为之前选择的selectedIndex tabBarController.selectedIndex = self.oldSelectIndex; [self presentLoginViewController]; } else {//不做任何判断 }}
}
还有个问题当登录或者注册成功之后销毁登录或注册页面视图时候,我是直接发送通知进行的,但是这样写,当注册成功的时候登录页面会闪出来下
-(IBAction)logInAction:(id)sender
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"dismissVC" object:nil]; //登录成功发送销毁视图通知
}
-(IBAction)registAction:(id)sender
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"dismissVC" object:nil]; //注册成功销毁视图
}
TabBar类里面销毁视图
-(void)viewDidLoad
{
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(dismissLogin:) name:@"dismissVC" object:nil];
}
-(void)dismissLogin:(NSNotification *)noti
{
[self dismissViewControllerAnimated:YES completion:nil];
}
这样做的话当注册完成后登录页面会闪下。。。
- iOS 点击tabBar弹出登录窗口
- ios:点击tabbar中间按钮弹出菜单(swift 3实现)
- IOS TabBar判断登录
- ios点击隐藏tabBar 返回tabBar
- iOS中用户未登录状态下点击下方tabBar触发登录
- IOS tabbar 点击刷新页面
- HTML 点击弹出窗口
- 点击弹出窗口
- 弹出窗口登录效果
- div弹出登录窗口
- 实现登录弹出窗口
- 点击登录按钮从上而下弹出登录界面窗口
- Flex点击弹出图片窗口;
- 点击立方体弹出GUI窗口
- IOS TabBar 点击不显示图标
- IOS点击底部tabbar的事件
- IOS点击tabbar更新页面数据
- iOS 自定义Tabbar 改变点击背景颜色
- Struts2-字段优先校验
- mysql插入中文乱码,我犯了一个很弱智的错误
- does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare
- 文件管理问题记录点
- 文章标题
- iOS 点击tabBar弹出登录窗口
- android屏幕适配
- swift--Swift 3.0实战:实现Dispatch once扩展
- js拖拽思想
- 2016/10/8 1001. 舞蹈室安排
- nginx+tomcat负载均衡和session复制
- Java中Timer定时器的使用
- java 知识
- 增值你的C++技能,C++成为WEB后台“颜值 ”担当(二)