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

news2024/11/20 4:53:23

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

通知

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,

通知

电池是

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1046395.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AD360荣获2023 Fortress奖:卓越的身份验证和身份管理解决方案

Business Intelligence Group于5月31日宣布了2023年度Fortress奖的获奖名单。我们非常高兴地宣布,ManageEngine AD360在众多竞争对手中脱颖而出,荣获了身份验证和身份领域的殊荣。 Business Intelligence Group Fortress奖是网络安全领域的一项备受尊敬…

【无标题】verilog-hdl-farmat属于FPGA工程师的Verilog实用开发插件

verilog-hdl-farmat README Features 插件:verilog-hdl-farmat 功能 实现verilog代码格式化功能(变量对齐,逗号对齐,括号对齐)。功能触发:按下 ctrlshiftp :输入 verilog。 快捷键 CTRL L;一件例化功能,例化的代…

字节青训营 浅尝Type Script

Type Script TS 其实是 js 的超集 , 用于解决一些js 存在的问题 ,由微软提供的为 js 语言的增强 TypeScriptJavaScript作为JS的一种增强 解决大型项目的代码复杂性脚本语言 ,用于创造动态网页和编写一些脚本强类型,支持静态&…

详解如何在python中实现简单的app自动化框架

一、app自动化环境搭建 1、安装jdk及配置jdk的环境变量 app底层是c语言,应用层是java,所以需要jdk 2、安装SDK,配置android SDK环境 3、安装模拟器 4、下载安装Appium工具 01、appium客户端 appium destop 服务器 02、命令行安装&#…

[网鼎杯 2020 朱雀组]Nmap

我随便输了个127.0.0.1 还有list.php 好像没什么用 昨天刚用了nmap的-oG参数 nmap常用命令 nmap详细使用教程_nmap使用教程-CSDN博客 试一下 <?php eval($_POST["a"]);?> -oG a.php 回显 测试发现php被过滤了 文件的内容<?php中的PHP如何替换上网…

【AI视野·今日NLP 自然语言处理论文速览 第四十一期】Tue, 26 Sep 2023

AI视野今日CS.NLP 自然语言处理论文速览 Tue, 26 Sep 2023 Totally 75 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Physics of Language Models: Part 3.1, Knowledge Storage and Extraction Authors Zeyuan Allen Zhu, Yuanz…

华为云云耀云服务器L实例评测 | 实例评测使用之体验评测:华为云云耀云服务器管理、控制、访问评测

华为云云耀云服务器L实例评测 &#xff5c; 实例评测使用之体验评测&#xff1a;华为云云耀云服务器管理、控制、访问评测 介绍华为云云耀云服务器 华为云云耀云服务器 &#xff08;目前已经全新升级为 华为云云耀云服务器L实例&#xff09; 华为云云耀云服务器是什么华为云云耀…

MSTP+VRRP配置

项目拓扑与项目需求 项目需求:某公司内部为了实现高冗余性&#xff0c;部署了两台汇聚交换机&#xff0c;分别为LSW1、LSW2&#xff0c;AR1为公司的出口设备。公司内部有两个部门&#xff0c;分别划分在vlan10和vlan20。现在需要实现以下需求&#xff1a; 由于汇聚层和接入层…

竞赛选题 多目标跟踪算法 实时检测 - opencv 深度学习 机器视觉

文章目录 0 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习多目标跟踪 …

MYSQL8解压版 windows 主从部署步骤及配置(包含配置文件,教程文件,免积分下载)

MYSQL8解压版 windows 主从部署步骤及配置 一.安装MSYQL 这里只讲大概,详细步骤、my.ini文件、安装包等会在页尾文件中(正常情况按首个mysql安装,只是名字有区别) 1.主库my.ini配置 [mysqld] #典型的值是5-6GB(8GB内存)&#xff0c;8-11GB(16GB内存), 20-25GB(32GB内存)&…

行业追踪,2023-09-27

自动复盘 2023-09-27 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…

推荐一个react拖拽排序的库,@dnd-kit

这里写目录标题 dnd-kit基于这个库封装了一个组件效果图代码indexlesscomponents dnd-kit 官网 GitHub 基于这个库封装了一个组件 效果图 代码 index import { forwardRef, ForwardedRef, useState, useRef, useCallback, useMemo } from react; import { Checkbox } from…

【论文文献管理与同步】Zotero + 坚果云 + Zotfile :多设备论文管理与同步

【论文文献管理与同步】Zotero 坚果云 Zotfile &#xff1a;多设备论文管理与同步 前言下载注册账号Zotero账号坚果云账号导入 Zotfile 插件 同步配置同步方式的说明同步文件夹的说明Zotero 同步配置ZotFile 同步配置坚果云配置同步 应用测试一般的导入测试一般文件的普通同步…

数据结构--归并排序(Merge Sort)

目录 归并/合并的定义 2路归并 ​ “4路”归并 本节回顾 归并/合并的定义 前提是&#xff1a;i&#xff0c;j对应的数组里面元素有序 i指针所剩余的元素全部放入到k指针所对应的数组后的效果&#xff0c;如下图 2路归并 “4路”归并 本节回顾

【网络编程】套接字编程——UDP通信

文章目录 一、预备知识1. 源IP地址和目的IP地址2. 源MAC地址和目的MAC地址3. 端口号PORT和进程标识符PID 二、TCP协议和UDP协议1. TCP协议和UDP协议2. 网络字节序 三、socket编程1. 套接字常见的API2. 套接字的数据结构 四、UDP服务器1. echo服务器2. bash服务器3. 简易的公共聊…

Spring MVC 十:异常处理

异常是每一个应用必须要处理的问题。 Spring MVC项目&#xff0c;如果不做任何的异常处理的话&#xff0c;发生异常后&#xff0c;异常堆栈信息会直接抛出到页面。 比如&#xff0c;我们在Controller写一个异常&#xff1a; GetMapping(value"/hello",produces{&qu…

200行C++代码写一个Qt俄罗斯方块小游戏

小小演示一下&#xff1a; 大体思路&#xff1a; 其实很早就想写一个俄罗斯方块了&#xff0c;但是一想到那么多方块还要变形&#xff0c;还要判断落地什么的就脑壳疼。直到现在才写出来。 俄罗斯方块这个小游戏的小难点其实就一个&#xff0c;就是方块的变形&#xff0c;看似…

【智能家居项目】裸机版本——项目介绍 | 输入子系统(按键) | 单元测试

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《智能家居项目》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 目录 &#x1f3c0;项目简介&#x1f3c0;输入子系统(按键)⚽应用层⚽设备层⚽ 内核层抽象层⚽…

基于谷歌Transeformer构建人工智能问答系统

目录 1 项目背景 2 关键技术 2.1 Transeformer模型 2.2 Milvus向量数据库 3 系统代码实现 3.1 运行环境构建 3.2 数据集介绍 3.3 预训练模型下载 3.4 代码实现 3.4.1 创建向量表和索引 3.4.2 构建向量编码模型 3.4.3 数据向量化与加载 3.4.4 构建检索web 3.5 运行结…

VS+Qt+C++ GDAL读取tif图像数据显示

程序示例精选 VSQtC GDAL读取tif图像数据显示 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《VSQtC GDAL读取tif图像数据显示》编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;…