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

【PickerView案例10-国旗选择界面02 Objective-C预言】

一、好了,我们继续来实现这个国旗选择界面:

通知

1.它的界面里面,是不是很简单,就一个UIPickerView,就完事儿了

然后,显示的每一行内容呢,

1)一个文字Label

2)一个图片

那大家应该有意识,它返回的应该是一个View,对吧,

代理方法里面,有一个返回View的,viewForRow:

viewForRowInComponent:

2.然后呢,我们呢,就新建了一个项目,

然后呢,我把这个项目打开,

1)搭建界面:一个PickerView,就完事儿了

2)加载数据:把这个03flags.plist,加载进来,

通知

3)还有一个:我们的图片资源,也给它放进来了,

通知

这么多国旗图片,

4)然后呢,再来看一下这个plist啊

国旗这个plist里面,也是,一个数组,包了几个字典,对吧,

通知

也可以字典转模型,

通知

5)回到Controller里面,

通知

懒加载

通知

关起来了,不再看了,

然后呢,

6)接下来,设置它的数据源、代理对象、

遵守对应的协议,

通知

实现相应的方法:

通知

7)它的组数,是多少呢:直接就是1组,

8)它的行号呢:有多少个国家模型,就有多少行啊,

通知

9)那最后,我们说:需要返回一个UIView,

pickerView:它是不是有一个viewForRow:方法

有人说,这些方法太多了,我记不住,记不住怎么办呢,也不用去记啊,我们只需要记住它的UIPickerView的头文件,去看

通知

点这个:UIPickerView

或者点它的:DataSource、Delegate

都可以

没有必要死记硬背啊,

我们只需要了解这个思路,

这个思路就可以了:

通知

2.那最后,我们说,返回、每一行返回什么view的话,

是不是根据tableView,去套的,

有印象吧,前面我们在写tableView的时候,

每一行返回什么样的cell,

那是怎么做的,

1)第一步:创建Cell

2)第二步:给Cell赋值、设置数据、

3)第三部:返回Cell

那我们这个View,也是一样的:

1)第一步:创建View

2)第二步:给View设置数据

3)第三步:返回View

有人说:我们是不是可以创建一个xib

这是一个xib、左边一个Label:

通知

右边儿一个ImageView:显示一个图片,对吧,

然后呢,最后是不是可以给它设置数据,最后返回View:

通知

最关键的就是这一块儿、其他都是一样一样的:

通知

3.好,大家说,怎么办:

1)第一步:是干嘛,创建View,创建View的话,你怎么创建呢,

我们这个View,是什么,我们要给它做的,是不是一个xib

通知

那怎么办

是不是先创建一个xib

通知

然后呢,command + N、

通知

User Interface:View

直接带一个View进来:

然后呢,Name:

通知

Name:HMFlagView.xib

通知

现在呢,我们这个xib有了:

通知

放上来

通知

这样的话,我还是加一个Group:

通知

1)Group Name:View,

通知

2)Group Name:Controller,

3)Group Name:Other,

4)Group Name:Model,

通知

这两个是不是我们的模型:HMFlag.h、HMFlag.m

通知

AppDelegate.h、AppDelegate.m、这两个是不是放在Other里面

控制器里面,按Shift、把这三个:

通知

放到控制器里面

通知

有的老师是不是把Storyboard放到View里面,

HMFlagView.xib:这个放到View里面

通知

哦了:

通知

那这个文件放置呢,你自己根据你个人习惯放置,但是其他的基本上都是这么一个结构

那下面这三个,放到:

通知

放到SupportingFiles里面

通知

4.好,那我们继续,现在这个xib有了

然后呢,是不是把它改一改:

通知

我们先把它约束加一下:这个Size:改成freedom

通知

1)Size:改成freedom,是不是可以修改它的大小,

2)然后,这个Status Bar:改成None,

通知

电池是

相关文章:

【PickerView案例10-国旗选择界面02 Objective-C预言】

一、好了,我们继续来实现这个国旗选择界面: 1.它的界面里面,是不是很简单,就一个UIPickerView,就完事儿了 然后,显示的每一行内容呢, 1)一个文字Label 2)一个图片 那大家应该有意识,它返回的应该是一个View,对吧, 代理方法里面,有一个返回View的,viewForRow…...

面试打底稿⑤ 项目一的第一部分

简历原文 抽查部分 项目描述 该项目旨在服务广州地区的快递物流,实现了下单、快递员取派件、订单转运单、线路规划、网点设置等功能。 责任描述 登录系统优化,双token三验证模式实现设置token状态、提高登录安全性的效果 模拟问答 1.能简单介绍一下…...

PSINS工具箱学习(三)让AI解释PSINS中的各种卡尔曼滤波函数

原始 Markdown文档、Visio流程图、XMind思维导图见:https://github.com/LiZhengXiao99/Navigation-Learning PSINS 中的 Kalman 滤波代码都在百行以内,没调用什么函数,而且通用性很强,拿去让 AI 解释,效果挺好。 文章目…...

多边形碰撞检测算法

1、AABB碰撞检测算法 AABB碰撞检测指轴对齐碰撞箱(Axis-aligned Bounding Box),是分别从x轴向和y轴向进行碰撞检测的算法。即对于需要检测的物体A和物体B我们需要将其用A盒和B盒套起来,判断A盒和B盒在x轴向和y轴向是否发生碰撞,只有在x轴向和…...

【C/C++笔试练习】——printf在使用%的注意事项、for循环语句的三个条件、运算符优先级、删除公共字符

文章目录 C/C笔试练习1.%符号在printf用作格式说明符的注意事项(1)输出%5.3s(2)判断%中小数点含义 2.for循环语句的三个条件(3)判断循环次数(4)判断循环次数 3.运算符优先级&#xf…...

Linux部署elk日志监控系统

目录 一、简介 二、部署elasticsearch 2.1 安装jdk11(jdk版本>11) 2.2 下载安装包 2.3 授权elk用户 2.4 配置elasticsearch.yml 2.5 启动elasticsearch 三、部署logstash 3.1 启动测试 3.2 可能出现的报错 3.3 指定配置文件启动logstash 3.4 安装El…...

LINUX -SQL笔记(自学用)

1.安装 sudo apt-get install mysql-server sudo mysql -u root -p2.关系模型 在关系数据库中,一张表中的每一行数据被称为一条记录。一条记录就是由多个字段组成的。 每一条记录都包含若干定义好的字段。同一个表的所有记录都有相同的字段定义。 对于关系表&#…...

【Spark】win10配置IDEA、saprk、hadoop和scala

终于,要对并行计算下手了哈哈哈。 一直讲大数据大数据,我单次数据处理量大概在1t上下,是过亿级的轨迹数据。 用python调用multiprogress编写的代码,用多线程也要一个多月跑完。 我对这个效率不太满意,希望能快一点再快…...

MQTT 协议概要

01 MQTT协议 MQTT(消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的支持在各方之间异步通信的消息协议。MQTT在空间和时间上将消息发送者与接收者分离,因此可以在不可靠的网络环境中进行扩展。虽然叫做消息队列遥测传输,但它与消息…...

向量数据库X云计算驱动大模型落地电商行业,Zilliz联合AWS探索并贡献成熟解决方案

近日,由Zilliz 联合亚马逊云科技举办的【向量数据库 X 云计算 驱动大模型落地电商行业】活动在上海落幕,获得业内专业人士的广泛好评。 众所周知,大模型技术的发展正加速对千行万业的改革和重塑,向量数据库作为大模型的海量记忆体、云计算作为大模型的大算力平台,是大模型…...

【vue2】解决Vuex刷新页面数据丢失的问题

最近写vue2 项目需要用到vuex, 但遇到一个问题,存进store里的数据刷新就丢失了,于是乎百度解决。将自己的感受与解决方法记录下来。 数据丢失的原因 vuex存储的数据只是在页面中,相当于全局变量,页面刷新的时候vuex里的数据会重…...

小皮面板配置Xdebug,调试单个php文件

小皮面板配置Xdebug 首先下载phpstrom,和小皮面板 打开小皮面板,选中好要使用的php版本 然后点击【管理】> 【php扩展】> 【xdebug】 然后打开选中好版本的php位置 D:\Program_Files\phpstudy_pro\Extensions\php\php7.4.3nts打开php.ini文件…...

版本控制系统:Perforce Helix Core -2023

Perforce Helix Core是领先的版本控制系统,适用于需要加速大规模创新的团队。存储并跟踪您所有数字资产的更改,从源代码到二进制再到IP。连接您的团队,让他们更快地行动,更好地构建。 通过 Perforce 版本控制加速创新 Perforce H…...

回归预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据回归预测

回归预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据回归预测 目录 回归预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据回归预测效果一览基本介绍研究内容程序设计参考资料 效果一览 基本介绍 Matlab实现基于…...

Hive-命令行CDH访问开启kerberos的hive

1.通过hive用户访问 切换用户为hive [rootslave conf]# su - hive 上一次登录:五 4月 12 13:59:19 CST 2019pts/1 上 [hiveslave ~]$命令行直接输入hive就可以进入hive [hiveslave ~]$ hive log4j:WARN No such property [maxFileSize] in org.apache.log4j.Dail…...

手机能搜到某个wifi,电脑搜不到解决方法(也许有用)

方法一:更新驱动 下载驱动大师、驱动精灵等等驱动软件,更新网卡驱动 方法二 按 win 键,打开菜单 搜索 查看网络连接(win11版本是搜这个名字) 点击打开是这样式的 然后对 WLAN右击->属性->配置->高级 这…...

Java-day18(网络编程)

网络编程 1.概述 Java提供跨平台的网络类库,可以实现无痛的网络连接,程序员面对的是一个统一的网络编程环境 网络编程的目的:直接或间接地通过网络协议与其他计算机进行通信 网络编程的两个主要问题: 1.如何准确定位网络上一台…...

Java多线程编程-栅栏CyclicBarrier实例

前言 本文是基于《Java多线程编程实战指南-核心篇》第五章个人理解,源码是摘抄作者的源码,源码会加上自己的理解。读书笔记目前笔者正在更新如下, 《Java多线程编程实战指南-核心篇》,《How Tomcat Works》,再到《spr…...

【100天精通Python】Day67:Python可视化_Matplotlib 绘制动画,2D、3D 动画 示例+代码

1 绘制2D动画(animation) Matplotlib是一个Python绘图库,它提供了丰富的绘图功能,包括绘制动画。要绘制动画,Matplotlib提供了FuncAnimation类,允许您创建基于函数的动画。下面是一个详细的Matplotlib动画示…...

变量、常量以及与其他语言的差异 - Go语言从入门到实战

知识点 源码文件以_test结尾:xxx_test.go测试方法名以Test开头:func TestXXX(t *testing.T){…} 利用单元测试来写代码段,保存之后会自动运行程序返回结果,可以快速实践得到反馈。 编写测试程序 接下来练习一下,怎…...

Kleiber:简化多架构Docker镜像构建与发布的自动化工具

1. 项目概述与核心价值最近在整理自己的开发工具链时,又翻出了devgap/kleiber这个项目,它在我日常的容器化开发工作流中扮演了一个相当关键但又不那么起眼的角色。简单来说,Kleiber 是一个 Docker 镜像的构建和发布自动化工具,但它…...

Next.js企业级项目脚手架:架构设计、工程化实践与生产部署指南

1. 项目概述:一个为Next.js量身打造的企业级起点如果你正在寻找一个能让你快速启动Next.js项目,同时又不想在项目初期就陷入繁琐的脚手架搭建、代码规范配置和基础架构设计的泥潭,那么once-ui-system/nextjs-starter这个项目很可能就是你一直…...

软件测试工程师的“技术外交”:如何搞定开发?

当质量守卫者遇上代码创造者在软件工程的世界里,测试与开发的关系常被比喻为“猫鼠游戏”——一个拼命构建,一个拼命破坏。这种刻板印象背后,隐藏着一条真实而残酷的职场定律:测试工程师的专业价值,一半取决于技术能力…...

AMD处理器硬件深度调试终极方案:SMUDebugTool完全实战手册

AMD处理器硬件深度调试终极方案:SMUDebugTool完全实战手册 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…...

三维姿态表达:从欧拉角、旋转矩阵到四元数的工程实践

1. 三维姿态表达的基础概念 在三维空间中描述物体的姿态(orientation)是许多工程领域的核心需求,无论是卫星姿态控制、机器人运动规划,还是游戏开发中的角色动画,都需要精确的姿态表达方式。姿态描述的本质是回答一个问…...

白细胞介素-17(IL-17):炎症与免疫调节中的关键细胞因子

白细胞介素-17(Interleukin-17, IL-17)作为IL-17细胞因子家族中的核心成员,在免疫应答、炎症反应及宿主防御中扮演着举足轻重的角色。自其被发现以来,IL-17在免疫学、炎症性疾病及肿瘤生物学等领域的研究中持续引发关注。本文旨在…...

如何快速掌握Git和GitHub:新手入门终极指南

如何快速掌握Git和GitHub:新手入门终极指南 【免费下载链接】hello-git Curso para aprender a trabajar con el sistema de control de versiones Git y la plataforma GitHub desde cero y para principiantes. 项目地址: https://gitcode.com/gh_mirrors/he/he…...

从零构建生产级AI助手:OpenClaw配置实战与自动化工作流指南

1. 项目概述:从零到一,构建你的生产级AI助手工作空间如果你和我一样,已经厌倦了每次配置AI助手时,都要从零开始摸索各种配置文件、脚本和最佳实践,那么这个名为openclaw-config的项目,绝对是你梦寐以求的“…...

Netflix 4K画质与杜比音效优化指南:解锁你的流媒体最佳体验

Netflix 4K画质与杜比音效优化指南:解锁你的流媒体最佳体验 【免费下载链接】netflix-4K-DDplus MicrosoftEdge(Chromium core) extension to play Netflix in 4K(Restricted)and DDplus audio 项目地址: https://gitcode.com/gh_mirrors/n…...

终极B站视频下载指南:BilibiliDown一键解锁高清视频下载

终极B站视频下载指南:BilibiliDown一键解锁高清视频下载 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors…...