【TabBar嵌套Navigation案例-产品推荐页面-UICollectionView-结合xib使用 Objective-C语言】
一、接下来,我们来说这个产品推荐页面

1.首先呢,它是一个CollectionViewController,当我点击这个产品推荐的时候,

这个Cell的时候,我要跳到一个CollectionViewController,

所以呢,我们需要先找到产品推荐,然后给它去添加一个targetVC,然后给它push到一个产品推荐的页面,先把这一步做了啊,然后呢,产品推荐,这个cell,在这个Setting里面,在最后一组,倒数第二个,产品推荐,然后,给它配置一个targetVC啊,

command + C、command + V、

那这个时候,我要跳到一个CollectionViewController,
所以呢,我要先新创建一个,

New一个File,

然后,继承自UICollectionViewController,然后,叫产品,Product,
HMProductController,

这个名字,拿过来,

来到Setting,targetVC,command + V、

command + R,这个时候,当我点击产品推荐的时候,崩了,

这个时候,是因为我没有layout参数啊,还是那个问题,不是说你控制器的名字错了啊,是因为你没有layout参数,

CollectionView里边,需要一个layout,才可以,
那么,这个时候,我就要找到你创建控制器的地方,在SettingController里边,点击cell的时候,didSelect,

那你这个Controller创建的时候,是用init创建的,直接在这儿写initWithLayout,行吗,肯定是不行的吧,
那我们应该怎么着去做,判断?想想我们之前复用Setting的时候,让Setting变成一个组的样式,我们怎么着去做的,是不是重写的init方法,
也就是说,这个CollectionViewController,也是一样的,
你创建这个ProductController,的时候,是调用init的方法,那我就把init的时候,给你去写,调用super的initWithLayout方法,就可以了,
然后呢,这个时候,它一定会去调用Product里面的init方法,

它一定会去调用这个方法,

在这个里边啊,我们说,如果你return的是super的init,

那就相当于是跟什么都没写一样,
那你直接去写initWithLayout,就行了,

initWithCollectionViewLayout:(UICollectionViewLayout *),

然后呢,在这一块儿,在上面,再去创建一个Layout,

然后呢,我们在这儿啊,去创建一个layout,
// 创建layout

然后来一个,UICollectionViewFlowLayout,
UICollectionViewFlowLayout *layout =

UICollectionViewFlowLayout *layout = [UICollectionViewFlowLayout alloc ] init];

然后,再把这个layout,传过来,

然后,我们说,你init的时候,去调用的这个流水布局,那,我担心我创建的时候,是用的initWithLayout的话,我到时候也要用这个布局,怎么办,所以呢,我再把这个方法,也重写一下,
相当于是,不管你传什么布局,我都用这一个布局,
把这个方法,也写一下,我这样来写,我把这一句话啊,

拿到下面来,

然后,return的时候,直接调用self的,额,不能这样写啊,还要去传一个layout,
我把这一句话,写到上面来,然后,在下面,直接调用上面的方法,

return [self init];
然后,把这个方法,直接在这儿写,就可以了,我们在上面这个方法里,接着来写,
相关文章:
【TabBar嵌套Navigation案例-产品推荐页面-UICollectionView-结合xib使用 Objective-C语言】
一、接下来,我们来说这个产品推荐页面 1.首先呢,它是一个CollectionViewController,当我点击这个产品推荐的时候, 这个Cell的时候,我要跳到一个CollectionViewController, 所以呢,我们需要先找到产品推荐,然后给它去添加一个targetVC,然后给它push到一个产品推荐的页面…...
java.nio.ByteBuffer的 capacity, limit, position, mark
java.nio.ByteBuffer的 capacity, limit, position, mark Capacity(容量) 定义:缓冲区的总容量,即缓冲区中可以容纳的元素的数量。这个容量在缓冲区创建时被设定,并且之后不能被改变。 用途:它定义了缓冲区…...
握手传输 状态机序列检测(记忆科技笔试题)_2024年9月2日
发送模块循环发送0-7,在每个数据传输完成后,间隔5个clk,发送下一个 插入寄存器打拍处理,可以在不同的时钟周期内对信号进行同步,从而减少亚稳态的风险。 记忆科技笔试题:检测出11011在下一个时钟周期输出…...
电商跨境电商商城系统/网上商城接口/电商数据接口详情
电商API接口背景:电商运营中,数据分析这项工作越来越重要,许多品牌方也越来越热衷去做电商数据分析。不过,全面的数据该如何获取呢,此时,电商数据接口的重要性便凸显出来了。 电商API数据接口主要有以下特…...
openFrameworks_如何使用ofxXmlSettings和ofxGui来创建识别界面
效果图: 代码及详解 1.添加两个插件的头文件: #include "ofxGui.h" #include "ofxXmlSettings/src/ofxXmlSettings.h" 2.添加GUI部分,然后在.h声明右边的openframeworks的UI部分,包括面板ofxPanel,按钮ofx…...
180多个GIS地理空间定义术语中英文对照配图
主动传感器(Active Sensors): [遥感]主动传感器照亮其目标,并测量返回到传感器的反射后向散射。 邻接(Adjacency): [几何]邻接发生在两个对象共享同一边界,并且与公共边或顶点相邻…...
Vue(14)——组合式API①
setup 特点:执行实际比beforeCreate还要早,并且获取不到this <script> export default{setup(){console.log(setup函数);},beforeCreate(){console.log(beforeCreate函数);} } </script> 在setup函数中提供的数据和方法,想要在…...
【图像检索】基于颜色模型的图像内容检索,matlab实现
博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于颜色模型的图像内容检索,用matlab实现。 一、案例背景和算法介绍 这…...
看过来——量子计算中一个神奇符号的解释
量子计算中一个神奇符号是 H ⊗ n \mathcal{H}^{\otimes n} H⊗n 它代表什么呢, 往下看 H ⊗ n \mathcal{H}^{\otimes n} H⊗n 通常在量子力学中表示 n次张量积的希尔伯特空间。 H \mathcal{H} H 表示一个希尔伯特空间,这是量子力学中描述量子态的空间&…...
传输层 IV(TCP协议——流量控制、拥塞控制)【★★★★】
(★★)代表非常重要的知识点,(★)代表重要的知识点。 一、TCP 流量控制(★★) 1. 利用滑动窗口实现流量控制 一般说来,我们总是希望数据传输得更快一些。但如果发送方把数据发送得…...
Java设计模式全面解析
23大设计模式(即软件设计中的24种常用设计模式)源自《设计模式:可复用面向对象软件的基础》一书,由四位作者(Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides)提出,通常也被称为“Go…...
spring全家桶使用教程
Spring 全家桶是指围绕 Spring 框架构建的一系列子项目和工具,涵盖了企业级应用开发的多个方面,如依赖注入、数据访问、事务管理、Web 开发、消息队列、云服务等。通过 Spring 全家桶,开发者可以构建从简单的 Web 应用到复杂的微服务架构。 …...
REST-系统架构师(六十九)
1某公司内部的信息系统集成,需要实现在系统之间快速传递可定制格式的数据包,并且当有新的数据包到达时候,接收系统会自动得到通知。另外还要支持数据重传,以确保传输的成功。针对这些需求,应该采用(&#x…...
SAP B1 营销单据 - 复制从复制到总结
背景 营销单据具有相似的表单结构,并且单据之间可互相复制,本文总结出各个单据可【复制从】与【复制到】的单据清单,并绘制流程图,表现理论上可完成的流程。 销售:销售报价单;销售订单;交货&am…...
css设置overflow:hiden行内元素会发生偏移的现象
父级元素包含几个行内元素 <div id"box"><p><span>按钮</span><span>测试文字文字文字测试文字文字文字</span><span>看这里</span></p></div>#box p{width: 800px;font-size: 30px;}#box p span{disp…...
使用多个 GitHub 账号的 SSH 配置与常见问题排查
文章目录 使用多个 GitHub 账号的 SSH 配置与常见问题排查摘要目录1. 使用多个 GitHub 账号的场景介绍2. 配置多个 SSH 密钥2.1 生成多个 SSH 密钥2.2 添加 SSH 密钥到 SSH 代理2.3 将 SSH 公钥添加到 GitHub 账户 3. 配置 SSH 代理与 GitHub 账户的关联3.1 为不同仓库设置不同…...
sql语法学习
学习 SQL(Structured Query Language)语法是数据库开发的基础,主要用于数据库的管理和操作。以下是 SQL 的基本语法和常用操作,涵盖数据查询、插入、更新、删除等。 1. 数据库基础 数据库:存储表和数据的集合。表&am…...
滚雪球学SpringCloud[5.3讲]: 配置管理中的高可用与容错
全文目录: 前言高可用配置中心的搭建为什么需要高可用配置中心?多实例与负载均衡数据一致性实战示例:使用Nginx实现高可用配置中心 Spring Cloud Config中的高可用性高可用性的进一步优化 配置管理中的故障处理策略分布式系统中的常见故障故障…...
电商安全新挑战:筑起数字防御长城,守护业务与数据安全
在当今这个数字化时代,电商行业正以前所未有的速度发展,大数据、人工智能等技术的融入不仅重塑了消费模式,更激发了行业新的增长点。然而,这片繁荣景象之下,隐藏着一个不容忽视的暗流——网络安全威胁。从数据泄露到恶…...
Python 单元测试:深入理解与实战应用20240919
Python 单元测试:深入理解与实战应用 引言 在动态语言如 Python 中,代码的灵活性和动态特性使得开发效率大大提升,但也带来了潜在的风险:小的改动可能导致不可预见的功能失效。因此,确保代码逻辑的正确性和稳健性至关…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
