【TabBar嵌套Navigation案例-推送和提醒界面的内容 Objective-C语言】

本文主要是介绍【TabBar嵌套Navigation案例-推送和提醒界面的内容 Objective-C语言】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、使用兑换码这个页面,看一下示例程序

通知

1.当我点击这个使用兑换码Cell的时候,我要跳到另一个页面,

通知

我要跳到一个控制器,这是一个普通的控制器,然后呢,这个页面啊,怎么着来做,首先,我要点击这个Cell,做一些事情,那我肯定要有它的点击事件,

通知

这是第一,然后呢,接下来啊,我先来写,一会儿我们再来去说,我们先来用普通的正常的方式,大家都熟悉的方式,先来写,首先,在这个里边,我们说,要找到这个使用兑换码的TableView的点击事件,那肯定是有一个代理方法,叫做didSelectRowAtIndexPath,

通知

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

}

通知

// 点击cell调用

通知

接下来啊,只要我一点,它就会执行这个方法,然后,我现在,想干什么,如果我点击的是第一个Cell,

通知

我要跳转到使用兑换码控制器,然后呢,我可以去判断,你这个indexPath的section == 0,row也 = = 0,的时候,我要跳到兑换码里边,

我先这样来写死了啊,

if(indexPath.section == 0 && indexPath.row = = 0){

}

通知

相当于你点击的是使用兑换码,那这个时候,我要跳转到使用兑换码控制器,我肯定是调用当前的这个控制器里边的navigationController,然后,再去push,那么,首先,我要跳到哪一个控制器,我要先有这个紫色的控制器才行,

通知

所以,我在这个里边,新建一个,我在我的彩票文件夹里面的Controller文件夹的下边,新建一个文件夹,

通知

这个文件夹,就是Setting,

通知

我建这么一个Setting的文件夹,把它拖到项目里,

通知

待会儿呢,我把这个什么使用兑换码控制器,

通知

或者它里面的控制器,我都放到这个文件夹里面,然后呢,在这个Setting文件夹里,New一个File,

通知

然后,Source,

通知

继承的是UIViewController,然后呢,叫做HMRedeemController,

通知

然后呢,直接给这个控制器设置一个紫色的背景颜色,

self.view.backgroundColor = [UIColor purpleColor];

通知

好,然后呢,接下来,我需要做的,就是说,在Setting里面,跳到这个HMRedeemController,使用兑换码的控制器,

通知

需要去创建,导入一下头文件,

// 使用兑换码

HMRedeemController *vc = [[HMRedeemController alloc] init];

通知

好,init完了以后,

[self.navigationController pushViewController:vc animated:YES];

通知

command + R,点一下使用兑换码,

通知

跳转,

通知

就跳到这个紫色的控制器了,那,接下来,还有一个问题,假如说,我想点到推送和提醒,我要跳到另外一个控制器,不叫Redeem了,假如说,叫Redeem1,然后,

通知

然后,摇一摇机选,点击以后,跳到Redeem2,然后,声音效果,点击以后,跳到Redeem3,好,我们说,你每一个Cell,又可能跳到不同的控制器,所以呢,我不希望在这儿,写死了,

通知

所以,我应该把你跳转到的那个控制器,当作一个Key,放到plist当中,

好,所有的东西,只要你是某一个Cell,跟另外一个Cell不一样了,那么你都可以考虑去往plist里面去塞,

看起来,你添加了很多东西,但是,你的代码,只需要写一套,以后改起来的话,会很方便,

2.好,然后,这个里边,我们要写什么,我们说,这个控制器的类型,你已经有了,我们要去传,跳转到的这个控制器的类型,

通知

这个我们要去传,跳转到的这个控制器的这个字符串,待会儿,我也要把它转化成类型,再去alloc-init,

好,所以呢,我们这个里边,我们来到这个plist里边,首先,找到使用兑换码的这个cell,

通知

我现在想点击这个Cell的时候,跳到某一个控制器,我给它配一个Key,叫做targetVC,

通知

叫什么都可以,然后呢,值是什么,HMRedeemController,

通知

是你要跳转到的控制器的名字,然后呢,接下来,我只需要在Setting里面,只要我去,

通知

只要我去点击,

通知

不管是谁,如果,你有这么一个targetVC这么一个Key,我就把它给你创建一个控制器对象,然后再去push,就可以了,

在这个里边,我们可以判断一下,

if(item)

好,我们现在好像还没有item,还没有Cell的信息,但是,indexPath都给你了,

通知

拿item还不容易,好,首先呢,获取组,

// 获取组

// 获取所有的Cell

// 获取当前的Cell信息

通知

都是这三步啊,

// 获取组

NSDictionary *group = self.groups[indexPath.section];

// 获取所有的Cell信息

NSArray *items = group[@“items”];

// 获取当前的Cell信息

NSDictionary *item = items[indexPath.row];

通知

好,然后,我们去判断一下,如果你的item,有这么一个targetVC的Key,并且,你的这个Key,有值,

if(item[@“targetVC”] && [item[@“targetVC”] length] > 0){

}

通知

好,if条件,能看明白吗࿰

这篇关于【TabBar嵌套Navigation案例-推送和提醒界面的内容 Objective-C语言】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094035

相关文章

RabbitMQ消费端单线程与多线程案例讲解

《RabbitMQ消费端单线程与多线程案例讲解》文章解析RabbitMQ消费端单线程与多线程处理机制,说明concurrency控制消费者数量,max-concurrency控制最大线程数,prefe... 目录 一、基础概念详细解释:举个例子:✅ 单消费者 + 单线程消费❌ 单消费者 + 多线程消费❌ 多

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

linux批量替换文件内容的实现方式

《linux批量替换文件内容的实现方式》本文总结了Linux中批量替换文件内容的几种方法,包括使用sed替换文件夹内所有文件、单个文件内容及逐行字符串,强调使用反引号和绝对路径,并分享个人经验供参考... 目录一、linux批量替换文件内容 二、替换文件内所有匹配的字符串 三、替换每一行中全部str1为st

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert