当前位置: 首页 > news >正文

【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 特点&#xff1a;执行实际比beforeCreate还要早&#xff0c;并且获取不到this <script> export default{setup(){console.log(setup函数);},beforeCreate(){console.log(beforeCreate函数);} } </script> 在setup函数中提供的数据和方法&#xff0c;想要在…...

【图像检索】基于颜色模型的图像内容检索,matlab实现

博主简介&#xff1a;matlab图像代码项目合作&#xff08;扣扣&#xff1a;3249726188&#xff09; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于颜色模型的图像内容检索&#xff0c;用matlab实现。 一、案例背景和算法介绍 这…...

看过来——量子计算中一个神奇符号的解释

量子计算中一个神奇符号是 H ⊗ n \mathcal{H}^{\otimes n} H⊗n 它代表什么呢&#xff0c; 往下看 H ⊗ n \mathcal{H}^{\otimes n} H⊗n 通常在量子力学中表示 n次张量积的希尔伯特空间。 H \mathcal{H} H 表示一个希尔伯特空间&#xff0c;这是量子力学中描述量子态的空间&…...

传输层 IV(TCP协议——流量控制、拥塞控制)【★★★★】

&#xff08;★★&#xff09;代表非常重要的知识点&#xff0c;&#xff08;★&#xff09;代表重要的知识点。 一、TCP 流量控制&#xff08;★★&#xff09; 1. 利用滑动窗口实现流量控制 一般说来&#xff0c;我们总是希望数据传输得更快一些。但如果发送方把数据发送得…...

Java设计模式全面解析

23大设计模式&#xff08;即软件设计中的24种常用设计模式&#xff09;源自《设计模式&#xff1a;可复用面向对象软件的基础》一书&#xff0c;由四位作者&#xff08;Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides&#xff09;提出&#xff0c;通常也被称为“Go…...

spring全家桶使用教程

Spring 全家桶是指围绕 Spring 框架构建的一系列子项目和工具&#xff0c;涵盖了企业级应用开发的多个方面&#xff0c;如依赖注入、数据访问、事务管理、Web 开发、消息队列、云服务等。通过 Spring 全家桶&#xff0c;开发者可以构建从简单的 Web 应用到复杂的微服务架构。 …...

REST-系统架构师(六十九)

1某公司内部的信息系统集成&#xff0c;需要实现在系统之间快速传递可定制格式的数据包&#xff0c;并且当有新的数据包到达时候&#xff0c;接收系统会自动得到通知。另外还要支持数据重传&#xff0c;以确保传输的成功。针对这些需求&#xff0c;应该采用&#xff08;&#x…...

SAP B1 营销单据 - 复制从复制到总结

背景 营销单据具有相似的表单结构&#xff0c;并且单据之间可互相复制&#xff0c;本文总结出各个单据可【复制从】与【复制到】的单据清单&#xff0c;并绘制流程图&#xff0c;表现理论上可完成的流程。 销售&#xff1a;销售报价单&#xff1b;销售订单&#xff1b;交货&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&#xff08;Structured Query Language&#xff09;语法是数据库开发的基础&#xff0c;主要用于数据库的管理和操作。以下是 SQL 的基本语法和常用操作&#xff0c;涵盖数据查询、插入、更新、删除等。 1. 数据库基础 数据库&#xff1a;存储表和数据的集合。表&am…...

滚雪球学SpringCloud[5.3讲]: 配置管理中的高可用与容错

全文目录&#xff1a; 前言高可用配置中心的搭建为什么需要高可用配置中心&#xff1f;多实例与负载均衡数据一致性实战示例&#xff1a;使用Nginx实现高可用配置中心 Spring Cloud Config中的高可用性高可用性的进一步优化 配置管理中的故障处理策略分布式系统中的常见故障故障…...

电商安全新挑战:筑起数字防御长城,守护业务与数据安全

在当今这个数字化时代&#xff0c;电商行业正以前所未有的速度发展&#xff0c;大数据、人工智能等技术的融入不仅重塑了消费模式&#xff0c;更激发了行业新的增长点。然而&#xff0c;这片繁荣景象之下&#xff0c;隐藏着一个不容忽视的暗流——网络安全威胁。从数据泄露到恶…...

Python 单元测试:深入理解与实战应用20240919

Python 单元测试&#xff1a;深入理解与实战应用 引言 在动态语言如 Python 中&#xff0c;代码的灵活性和动态特性使得开发效率大大提升&#xff0c;但也带来了潜在的风险&#xff1a;小的改动可能导致不可预见的功能失效。因此&#xff0c;确保代码逻辑的正确性和稳健性至关…...

机械工程论文降AI工具免费推荐:2026年机械工程毕业论文降AI知网维普亲测4.8元达标完整指南

机械工程论文降AI工具免费推荐&#xff1a;2026年机械工程毕业论文降AI知网维普亲测4.8元达标完整指南 帮室友处理过机械工程论文降AI&#xff0c;前前后后试了四款工具&#xff0c;最后固定在嘎嘎降AI&#xff08;www.aigcleaner.com&#xff09;。 4.8元&#xff0c;达标率…...

【大语言模型系列·第 01 篇】全景图:从图灵测试到万亿参数的 AI 革命

【大语言模型系列第 01 篇】全景图&#xff1a;从图灵测试到万亿参数的 AI 革命 系列前言&#xff1a;大语言模型&#xff08;LLM&#xff09;是当今 AI 最重要的技术基石。从 2017 年 Transformer 论文到 2026 年的万亿参数 MoE 模型&#xff0c;LLM 用不到十年时间重塑了整个…...

面向时序冗余的自适应高效时空动作检测算法研究

面向时序冗余的自适应高效时空动作检测算法研究 摘要 时空动作检测是视频理解领域的核心任务,要求在视频序列中同时识别动作类别并定位其时空边界。现有主流方法虽然取得了显著进展,但普遍存在两个关键瓶颈:一是视频数据固有的高时序冗余导致计算效率低下,二是局部时序依…...

Seraphine:如何通过智能战绩查询和BP辅助提升英雄联盟竞技体验

Seraphine&#xff1a;如何通过智能战绩查询和BP辅助提升英雄联盟竞技体验 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 想象一下这样的场景&#xff1a;你刚刚进入英雄联盟的排位赛BP阶段&#xff0c;屏幕…...

基于Fog Project的系统无人值守部署(一)Fog Project安装

安装部署 官网下载安装包进行安装 https://fogproject.org/download.php 安装 以下安装基于Debian 13系统进行部署。 rootdebian:~# ls FOGProject-fogproject-1.5.10.1673-0-g8af159d.tar.gz rootdebian:~# tar -xzvf FOGProject-fogproject-1.5.10.1673-0-g8af159d.tar.…...

面试官视角:我为什么总爱问C语言static、volatile和extern?

面试官视角&#xff1a;为什么C语言的static、volatile和extern是嵌入式面试的必考题&#xff1f; 在嵌入式软件工程师的面试中&#xff0c;static、volatile和extern这三个C语言关键字几乎成了"保留节目"。作为面试官&#xff0c;我见过太多候选人能机械背诵定义&am…...

光猫拨号下,如何把二级路由器变成‘透明网桥’?一个设置让NAS、打印机全屋可见

光猫拨号下的家庭网络优化&#xff1a;二级路由器透明化实战指南 家里NAS里的电影在客厅电视上死活刷不出来&#xff1f;书房电脑找不到卧室的无线打印机&#xff1f;这些问题往往源于家庭网络中多台路由器形成的"局域网套娃"。本文将手把手教你如何将二级路由器转化…...

保姆级教程:用VASP和VESTA搞定CO吸附在Pt(111)表面的差分电荷密度图

从零开始&#xff1a;CO-Pt(111)体系差分电荷密度计算全流程解析 在催化反应机理研究中&#xff0c;差分电荷密度分析犹如一把精密的手术刀&#xff0c;能够清晰揭示分子与催化剂表面之间的电子"对话"。对于刚踏入计算催化领域的研究者而言&#xff0c;掌握这项技能不…...

负载锌酞菁(ZnPc)/α-萘酚温敏水凝胶,ZnPc/α-Naphthol

名称&#xff1a;负载锌酞菁&#xff08;ZnPc&#xff09;/α-萘酚温敏水凝胶&#xff0c;ZnPc/α-Naphthol 一、材料概览&#xff1a;双重功能的精妙融合 负载锌酞菁&#xff08;ZnPc&#xff09;/α-萘酚温敏水凝胶&#xff0c;是将具有优异光催化活性的锌酞菁&#xff08;Zn…...

从选型到设计:手把手教你根据7系列FPGA数据手册做项目选型(以Kintex-7为例)

从选型到设计&#xff1a;手把手教你根据7系列FPGA数据手册做项目选型&#xff08;以Kintex-7为例&#xff09; 在硬件系统设计中&#xff0c;FPGA选型往往决定着项目的成败。面对Xilinx 7系列丰富的产品线&#xff0c;工程师需要像外科医生选择手术器械一样精准——既要考虑当…...