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

这篇具有很好参考价值的文章主要介绍了【PickerView案例10-国旗选择界面02 Objective-C预言】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

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

1)一个文字Label

2)一个图片

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

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

viewForRowInComponent:

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

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

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

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

这么多国旗图片,

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

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

也可以字典转模型,

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

5)回到Controller里面,

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

懒加载

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

关起来了,不再看了,

然后呢,

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

遵守对应的协议,

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

实现相应的方法:

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

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

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

点这个:UIPickerView

或者点它的:DataSource、Delegate

都可以

没有必要死记硬背啊,

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

这个思路就可以了:

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

是不是根据tableView,去套的,

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

每一行返回什么样的cell,

那是怎么做的,

1)第一步:创建Cell

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

3)第三部:返回Cell

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

1)第一步:创建View

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

3)第三步:返回View

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

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

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

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

那怎么办

是不是先创建一个xib

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

然后呢,command + N、

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

User Interface:View

直接带一个View进来:

然后呢,Name:

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

Name:HMFlagView.xib

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

放上来

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

1)Group Name:View,

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

2)Group Name:Controller,

3)Group Name:Other,

4)Group Name:Model,

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

放到控制器里面

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

HMFlagView.xib:这个放到View里面

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

哦了:

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

那下面这三个,放到:

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

放到SupportingFiles里面

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos

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

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

【PickerView案例10-国旗选择界面02 Objective-C预言】,Objective-C,objective-c,开发语言,macos文章来源地址https://www.toymoban.com/news/detail-730269.html

电池是

到了这里,关于【PickerView案例10-国旗选择界面02 Objective-C预言】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Objective-C学习笔记(ARC,分类,延展)4.10

    1.自动释放池@autoreleasepool: 存入到自动释放池的对象,在自动释放池销毁时,会自动调用池内所有对象的release方法。调用autorelease方法将对象放入自动释放池。     Person *p1 = [ [ [ Person alloc ] init ] autorelease]; 2.在类方法里写一个同名的方法,用于创造对象。 (+)instancetype pers

    2024年04月17日
    浏览(29)
  • 【Effective Objective - C】—— 熟悉Objective-C

    Objective-C通过一套全新语法,在C语言基础上添加了面向对象特性。Objective-C的语法中频繁使用方括号,而且不吝于写出极长的方法名,这通常令许多人觉得此语言较为冗长。其实这样写出来的代码十分易读,只是C++或Java程序员不太能适应。 Objective-C语言学起来很快,但有很

    2024年01月16日
    浏览(36)
  • objective-c 基础学习

    目录 第一节:OC 介绍 ​​第二节:Fundation 框架 ​第三节:NSLog 相对于print 的增强 ​第四节:NSString ​第五节:oc新增数据类型 第六节: 类和对象 ​类的方法的声明与实现 ​第七节:类和对象的存储 第八节:nil 与 NULL 第九节:分组导航标记#pragma mark ​第十节:方法与函

    2024年02月07日
    浏览(28)
  • 第一章 熟悉Objective-C

    Objective—C语言是由Smalltalk演化而来,后者是消息型语言的鼻祖,所以该语言使用的“消息结构”而非“函数调用”。 1. 消息和函数调用之间的区别 关键区别在于: 使用消息结构的语言,其运行所应执行的代码由运行环境来决定;而使用函数调用的语言,则由编译器决定。

    2024年01月18日
    浏览(30)
  • Effective Objective-C 学习(二)

    “属性”(property)是 Objective-C 的一项特性,用于封装对象中的数据。Objective-C 对象通常会把其所需的数据保存为各种实例变量。实例变量一般通过“存取方法”来访问。其中,“获取方法”(getter)用于读取变量值,而“设置方法”(setter)用于写入变量值。开发者可以令

    2024年02月20日
    浏览(33)
  • Objective-C日期NSDate使用

    2024年01月21日
    浏览(38)
  • Effective Objective-C 学习(三)

    Objective-C 使用引用计数来管理内存:每个对象都有个可以递增或递减的计数器。如果想使某个对象继续存活,那就递增其引用计数:用完了之后,就递减其计数。计数变为 0时,就可以把它销毁。 在ARC中,所有与引用计数有关的方法都无法编译(由于 ARC 会在编译时自动插入

    2024年02月22日
    浏览(36)
  • Effective Objective-C 学习(四)

    在执行后台任务时,GCD 并不一定是最佳方式。还有一种技术叫做 NSOperationQueue,它虽然与 GCD 不同,但是却与之相关,开发者可以把操作以 NSOperation 子类的形式放在队列中,而这些操作也能够并发执行。 GCD是纯C的API,而NSOperationQueue是Objective-C的对象。这意味着使用GCD时,任

    2024年02月19日
    浏览(30)
  • use gnustep objective-c

    专注于概念,而不是迷失在语言技术细节中 编程语言的目的是成为一个更好的程序员; 也就是说,在设计和实现新系统以及维护旧系统方面变得更加有效 header preprocess interface implementation method variable declare and expression comment basic integer set and float set enum type void type derive type incl

    2024年02月14日
    浏览(32)
  • 【KVC补充 Objective-C语言】

    2024年02月15日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包