IOS之UIKit_Day09

Day09

回顾:

  1.表格的编辑

               1.1删除和增加:

                     步骤:step1:启动表格的编辑模式

                                   tableView.editing=yes;

                             step 2:两问一答:

                                   问1 那些行可以编辑

                                   问2 行的编辑模式是什么?

                                   答1 提交编辑动作后响应(先修改数据模型在做界面的更新,界面的更新可以整体reload,也可以只针对修改的行进行insert或者delete

               1.2行的移动

                     步骤:一问一答

                            step:启动编辑模式

                            step:问1:当前行是否可以移动

                                   问2移动数据行的响应

 

2 UITableViewCell

               2.1contentView

               2.1.1系统提供的默认样式

                     .textLable

                     .detailTextLable

                     .imageView

                     通过设定cell的style,三个控件会有不同的布局

                            Default

                            Subtitle  Value1  Value2

                 2.1.2 自定义内容视图

                     创建出控件的实例后 以子视图的形式添加倒cell的contentView中即可

                     注意:由于单元格对象可以被重用,所以自定义子视图时应该区分创建和重用两种情况,当cell被新建时,子视图也是新建的,当cell是取的可重用的对象时,不能再新建子对象而是将创建过的子对象取出修改新值  为了在创建时为子视图设置tag属性,在取出子视图是依据tag值来判断[cell.contentView viewWithTag:1]

                                  

               2.2系统提供的默认的辅助试图样式

                     设置cell的accessoryType属性

                            cell.accessoyType属性进行设置

                            UITableViewCellAccessoryDetailDisclosureButton

                            Checkmark:对勾

                            DetailDisclosureButton圆圈i

                            DisclosureIndicator大括号

                            DetailDisclosureButton圆圈加大于号

                     重点注意:

                            有圆圈I时:cell可以响应两种不同的点击事件,一个是点击圆圈I区域(accessoryButtonTap....方法)一个是点击圆圈i一个是点击圆圈i以外的区域(didSelectRowAtIndexPath

 

                     b自定义辅助试图

                            设置cell的accessoryView属性

                            如:cell.accessoryView=[UISwith alloc]init….];

                            将创建的试图 赋值给accessoryView属性

               2.3自定义单元格:

                     step1:创建一个类继承于UITableViewCell

                     step2:将自定义的类的界面设计与一个xib问价绑定在一起

                     step3:设置显示界面 并连线界面中可以修改的视图为类中公开的属性(所谓连线,其实就是将类中的某一部分公开化,改变一个公开的借口,供使用者赋值)

                     step4:创建tableView回答第三问时 不再创建UITableViewCell的实例 而是创建自定义的类的实例。

 

self.navigationItem.titleView=self.scrollView;设置navagationItem的标签的View属性

 

——————————————————————————————

1 .静态表格

               行数不变

               方法一:纯代码

                     特点:使用大量的 if  lese   大量硬代码

                          注意:静态表格的数据依然是可以改变的

               方法二:xib

                     实现思路:在Xib中将静态表格中的每一行都通过拖拽一个对象来进行设计 系统会自动创建xib中包含的所有的控件对象,但是,默认每一个xib文件中只能有一个根元素 被控制器加载 其他拖拽后并有系统创建对象 可以通过将这个对象连线倒控制器中成为属性在进行访问.

 

2. 动态表格

               数据行是可以改变的

               方法一:代码方式

                     核心理念:创建完TableView之后,设置TableView的DateSource和delegate对象 只要符合协议的对象都可以设置为代理方法

                     选择一:当前控制器遵守协议然后成为tableView的代理

                     选择二:自己编写代码类 遵守协议  然后创建类的对象 设置为tableview的代理

                    

               方法二:xib+代码混合的方式

                     需求:在一个普通的VC的视图中有两个tableView 上面的tableView从资源库中拖拽。用于显示5行的hello Word,下面的tableView使用代码创建 用于显示7行的HellKitty 让控制器对象同时是这两个tableView的datasource和delegate

 

****cell.selectionStyle=UITableViewCellSelectionStyleNone;设置Cell的显示样式  当点击是没有任何样式

               UITableViewCellSelectionStyleBlue,蓝色

   UITableViewCellSelectionStyleGray,灰色

   UITableViewCellSelectionStyleDefault默认

时间: 2024-08-10 00:05:48

IOS之UIKit_Day09的相关文章

iOS -- SKSpriteNode类

SKSpriteNode类 继承自 SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用于iOS 7.0或者更晚的版本 声明于 SKSpriteNode.h 参考指南 Sprite Kit Progamming Guide 概览 重要提示:这是一个初步的API或者开发技术

使用fruitstrap实现命令行将IPA包安装到iOS设备上

Requirements Mac OS X. Tested on Snow Leopard only. You need to have a valid iPhone development certificate installed. Xcode must be installed, along with the SDK for your iOS version. Usage fruitstrap [-d] -b <app> [device_id] Optional -d flag laun

iOS -- SKScene类

SKScene类 继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用于iOS 7.0或者更晚的版本 声明于 SKScene.h 参考指南 Sprite Kit Progamming Guide 概览 重要提示:这是一个初步的API或者开

iOS -- SKPhysicsWorld类

SKPhysicsWorld类 继承自 NSObject 符合 NSCodingNSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用于iOS 7.0或者更晚的版本 声明于 SKPhysicsWorld.h 参考指南 Sprite Kit Progamming Guide 概览 重要提示:这是一个初步的API或者开发技术文档.虽然已经审阅了本文档的技术准确性,但是它不是最终的版本.本机密信息仅适用于

iOS证书说明和发布

1.首先通过钥匙串访问——证书助理——从证书颁发机构请求证书——填写证书信息(邮箱,常用名称,存储到磁盘)——存储为(自定义名称.certSigningReuqest,简称CSR文件,只是为了提交到苹果开发者账号中,然后就没用了)到本地 2.苹果开发者账号中,创建证书(Development和Production)——上传CSR文件——下载证书运行 ( xxx.cer文件) 注意:只有在当前电脑中生成本地生成证书,上传到苹果开发账号,然后下载cer文件运行后,钥匙串中才有证书以及对应的秘钥 如果

iOS开发——项目实战总结&amp;UITableView性能优化与卡顿问题

UITableView性能优化与卡顿问题 1.最常用的就是cell的重用, 注册重用标识符 如果不重用cell时,每当一个cell显示到屏幕上时,就会重新创建一个新的cell 如果有很多数据的时候,就会堆积很多cell.如果重用cell,为cell创建一个ID 每当需要显示cell 的时候,都会先去缓冲池中寻找可循环利用的cell,如果没有再重新创建cell 2.避免cell的重新布局 cell的布局填充等操作 比较耗时,一般创建时就布局好 如可以将cell单独放到一个自定义类,初始化时就布局好

解决ios下的微信打开的页面背景音乐无法自动播放

后面的项目发现,还有两个坑,需要注意下: ·本文的解决方案的核心是利用了 微信/易信 在ready的时候会有个 WeixinJSBridgeReady/YixinJSBridgeReady事件,通过监听这个事件来触发的.那有个坑就是 如果微信已经ready了,但还没执行到你监听这个ready事件的代码,那么你的监听是没用的,所以最理想的情况是,监听的js放在head前面(放在css外链之前),确保最新执行,切记!切记!. ·另一个坑就是,本文的解决方案只适合一开始就播放的背景音乐.如果你是做那种

iOS程序执行顺序和UIViewController 的生命周期(整理)

说明:此文是自己的总结笔记,主要参考: iOS程序的启动执行顺序 AppDelegate 及 UIViewController 的生命周期 UIView的生命周期 言叶之庭.jpeg 一. iOS程序的启动执行顺序 程序启动顺序图 iOS启动原理图.png 具体执行流程 程序入口进入main函数,设置AppDelegate称为函数的代理 程序完成加载[AppDelegate application:didFinishLaunchingWithOptions:] 创建window窗口 程序被激活[

iOS库--.a与.framework

一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存. 三.iOS里静态库形式? .a和.framework 四.iOS里动态库形式? .dylib和.framework 五.framework为什么既是静态库又是动态库? 系统的.framework是动态库,我们自己建立的.fram