iOS--基础控件总结一】的更多相关文章

A.概述      在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能      1.按钮点击后,显示为“已下载”,并且不可以再按      2.在屏幕中间弹出一个消息框,通知消息“xx已经被安装”,慢慢消失      3.消息框样式为圆角半透明       B.不使用代理模式,使用app空间组和主View之间的父子View关系 1.在主View中创建一个消息框   主View控制器:ViewController.m // 创建…
上篇介绍了UIButton.UILabel.UIImageView和UITextField,这篇就简短一点介绍UIScrollView和UIAlertView. UIScrollView 顾名思义也知道这个是和滚动相关的控件,在Android开发时遇到过ScrollView,当内容的尺寸超出了屏幕范围之后,用ScrollView则可以通过滚动的方式使得超出屏幕的那部分内容通过滚动的方式显示出来,在Android里面有水平的ScrollView和垂直的ScrollView,在iOS里面就只有一个S…
A.基本使用 1.概念 iOS内置的浏览器控件 Safari浏览器就是通过UIWebView实现的   2.用途:制作简易浏览器 (1)基本请求 创建请求 加载请求 (2)代理监听webView加载,例如提示正在加载 (3)前进.后退 使用NavigationController,在底部加上导航栏(勾选showToolBar),加上回退和前进按钮 (4)给顶部导航栏加上地址栏 UISearchBar 代理监听“搜索”按钮,提取地址栏文本           // // ViewControlle…
A.需求 1.搭建一个"私人通讯录"Demo 2.模拟登陆界面 账号 密码 记住密码开关 自动登陆开关 登陆按钮 3.退出注销 4.增删改查 5.恢复数据(取消修改)   这个代码托管了在github: https://github.com/hellovoidworld/ContactBook (本来网速不好,打算用国内的csdn甚至京东,发现github有现成的app,不用使用命令行,速度还可以,就用github了,界面也是最漂亮的)     B.基本架构 1. 5个控制器 (1)导…
A.需求 1.自定义一个UIView和xib,包含国家名和国旗显示 2.学习row的重用   B.实现步骤 1.准备plist文件和国旗图片     2.创建模型 // // Flag.h // CountriesSelection // // Created by hellovoidworld on 14/12/16. // Copyright (c) 2014年 hellovoidworld. All rights reserved. // #import <Foundation/Found…
A.需求 做出一个类似于QQ.微信的聊天界面 1.每个cell包含发送时间.发送人(头像).发送信息 2.使用对方头像放在左边,我方头像在右边 3.对方信息使用白色背景对话框,我方信息使用蓝色背景对话框 4.隐藏相同的发送时间 5.底部功能按钮:语音按钮.消息输入框.表情按钮.附加按钮 6.响应键盘事件,呼出键盘.隐藏键盘时对上述的视图作出上移操作 7.键盘的发送事件处理   Code Source: https://github.com/hellovoidworld/ChatDemo    …
一.控件的属性 1.CGRect frame 1> 表示控件的位置和尺寸(以父控件的左上角为坐标原点(0, 0)) 2> 修改这个属性,可以调整控件的位置和尺寸 2.CGPoint center 1> 表示控件的中点(以父控件的左上角为坐标原点) 2> 修改这个属性,可以调整控件的位置 3.CGRect bounds 1> 表示控件的位置和尺寸(以自己的左上角位坐标原点,位置永远是(0, 0)) 2> 修改这个属性,只能调整控件的尺寸 4.int tag 1> 表…
A.概念 @property 的修饰词   strong: 强指针/强引用(iOS6及之前是retain) weak: 弱智真/弱引用(iOS6及之前是assign)   默认情况所有指针都是强指针 使用 "__weak" 修饰的指针是弱指针   ARC准则:只要没有强指针指向,对象就会被销毁   @property属性的用法 * weak(assign) :  代理\UI控件* strong(retain) : 其他对象(除代理\UI控件\字符串以外的对象)* copy : 字符串…
A.需求 1.类似QQ.微信顶部或者底部的窗口转换导航条 2.给每个页面添加相应内容   B.UITabBarController 1.基本概念: (1)内容高度 iOS7之前内容高度为:屏幕高度 - 状态栏高度44 - 底部导航条高度49 iOS7及之后,内容高度为整个屏幕     2.使用代码创建初始化 (1)创建一个UITabBarController UITabBarController的使用步骤 初始化UITabBarController 设置UIWindow的rootViewCont…
A.概念 storyboard中的跳转事件连线,都是一个UIStoryboardSegue对象(Segue)   来源控制器      触发控制器 目标控制器      跳转到的控制器     Segue的属性: 每一个Segue对象,都有3个属性唯一标识@property (nonatomic, readonly) NSString *identifier;来源控制器@property (nonatomic, readonly) id sourceViewController;目标控制器 @p…
A.需求 1.使用plist数据,展示类似QQ好友列表的分组.组内成员显示缩进功能 2.组名使用Header,展示箭头图标.组名.组内人数和上线人数 3.点击组名,伸展.缩回好友组   code source: https://github.com/hellovoidworld/QQFriendList   B.实现步骤 1.编写MVC结构     (1)根据plist文件结构,编写model,使用嵌套型     // // FriendGroup.h // FriendsList // //…
框架:   所有代码文件:   Model: // // Message.h // QQChatDemo // // Created by hellovoidworld on 14/12/8. // Copyright (c) 2014年 hellovoidworld. All rights reserved. // // message信息模型,存储聊天记录 #import <Foundation/Foundation.h> typedef enum { MessageTypeMe = ,…
A.内存管理 NSString: copy 基本数据类型.结构体(int, CGFloat, BOOL, CGRect等):assign 对象(如自定义model类型.NSArray.NSDictionary):strong 控件:weak    …
  Controller: // // ViewController.m // Weibo // // Created by hellovoidworld on 14/12/4. // Copyright (c) 2014年 hellovoidworld. All rights reserved. // #import "ViewController.h" #import "Weibo.h" #import "WeiboCell.h" #impo…
A.需求 1.类似于微博内容的展示 2.头像 3.名字 4.会员标志 5.内容 6.分割线 7.配图(可选,可有可无)   code source: https://github.com/hellovoidworld/WeiboContentDemo     B.思路.步骤 1.Controller:UITableViewController      改变控制器继承自UITableViewController,storyboard中也同时使用新的TableViewController,其Tab…
  1.主控制器: // // ViewController.m // GroupPurchase // // Created by hellovoidworld on 14/12/3. // Copyright (c) 2014年 hellovoidworld. All rights reserved. // #import "ViewController.h" #import "GroupPurchase.h" #import "GroupPurcha…
A.需求 1.头部广告 2.自定义cell:含有图片.名称.购买数量.价格 3.使用xib设计自定义cell,自定义cell继承自UITableViewCell 4.尾部“加载更多按钮”,以及其被点击之后的数据加载刷新.动画效果   code source: https://github.com/hellovoidworld/GroupPurchase         B.实现 1.使用MVC M:团购Model V:总View.cell的View(包含类和界面) C:ViewControlle…
对着要指定dataSource或者delegate的控件右击,然后拖动线到指定的控制器上…
A.实现思路 1.拖入UITableView 2.拖曳.连线UITableView控件 3.Controller遵守UITalbeViewDataSource协议 4.设置UITableView的dataSource 5.加载数据到Model 6.从Model解析数据,显示到View上       B.实现细节 1.UITableView style (1)Grouped,成组出现,标题和尾部会被分隔开,如上图   (2)Plain       2. cars_simple.plist 文件结构…
A.概念 例子就是桌面的APP列表,当APP数量超过一个屏幕,自动进行分页   B.实现思路 1.创建一个UIScrollView,这里设置为宽度跟屏幕相同,高度1/4屏幕高度左右 2.使用代码在UIScrollView中添加ImageView,横向放入多张ImageView 3.设置UIScrollView的contentSize为所有图片的宽度总和 4.要保证UIScrollView的宽度等于一张ImageView的宽度,才能正确分页   C.相关属性 设置属性pageEnable = YE…
原图: 900 x 1305      拖曳滚动:   缩放:           主要代码: // // ViewController.m // ImageZoom // // Created by hellovoidworld on 14/11/28. // Copyright (c) 2014年 hellovoidworld. All rights reserved. // #import "ViewController.h" @interface ViewController…
A.需要掌握 UIScrollView 是一个能够滚动的视图控件,可以用来展示大量内容,如手机的“设置” 1.常见属性 2.常用代理方法 3.缩放 4.UIScrollView和UIPageControl的分页 5.NSTime的使用   B.UIScrollView概念与使用 练习:显示大图,以原始尺寸显示一张图片,可以滚动查看图片的各个部分   原图: 900 x 1305   1.拖入UIScrollView,加入一个ImageView,设置图片,设置图片尺寸   在controller中…
A.需要掌握的 1.添加图片资源(暂时认为@2x跟非@2x代表同一张图片) 2.搭建UI界面* 文本标签* 4个按钮* 中间的图片 3.设置状态栏样式 4.监听下一题按钮的点击 5.延迟加载数据* 加载plist* 字典转模型* KVC的引入 6.切换下一题的序号.图片.标题,下一题按钮的可用性 7.默认显示第1条题目 8.显示大图* 监听中间图片点击* 添加遮盖* 移动图片(注意头像图片的层级顺序)* 监听“大图按钮” 9.展示答案的个数 10.展示待选答案 11.答案处理 12.提示功能 1…
A.从ViewController分离View 之前的代码中,View的数据加载逻辑放在了总的ViewController中,增加了耦合性,应该对控制器ViewController隐藏数据加载到View的细节.     封装View的创建逻辑     封装View的数据加载逻辑到自定义的UIView中   B.思路 使用xib封装自定义view的步骤: 1.新建一个继承UIView的自定义view,这里的名字是"AppView",用来封装独立控件组 每个AppView封装了如下图的控件…
A.使用字典加载数据的缺点 1.用户自行指定key,容易出错 2.存入.取出都需要key,容易混乱   B.模型 (MVC中的model) 1.字典与模型对比: (1)字典:存储数据,通过字符串类型的key取值(容易写错,写错了key编译器不会报错) (2)模型:存储数据,自定义属性存储数据,其实就类似JavaBean,本质是数据封装   2.实现 (1)定义模型类 @interface App : NSObject /** copy : NSString strong: 一般对象 weak:…
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/css/cuteeditor.css); 需求: 1.点击按钮播放相应动画 2.点击汤姆猫身体部分(头.脚.尾巴)显示动画 3.当前正在播放动画不可触发其他动画 4.优化缓存.内存管理     A.序列帧动画 #1. png格式的文件可以不带扩展名访问,而且可以放到"Images.scassets&…
  A.storyboard 控件版 1.label 2.textfield      a.Keyboard Type           账号:Number Pad           密码:Number and Punctuation      b.Placeholder:提示文字      c.Clear Button: Appears with editing 清除按钮      d.Secure Text Entry:密码格式输入 3.button @interface ViewCon…
UIButton A.素材准备 1.图片素材放置到Images.xcassets中     B.按钮状态 1.normal:默认状态 Default 对应的枚举常量:UIControlStateNormal   2.highlighted(高亮状态) 按钮被按下去的时候(未松开) 对应的枚举常量:UIControlStateHighlighted   3.disabled(失效状态,不可用状态) 如果enable属性为NO,就是处于disabled状态,代表按钮不可被点击 对应的枚举常量:UIC…
A. UIView 1.概念      属于UIKit框架      屏幕上能看得见摸得着的东西就是UIView,比如屏幕上的按钮.文字.图片      翻译为:视图/控件/组件      UIButton.UILable.UITextField都继承自UIView      每一个UIView都是一个容器,能容纳其他UIView   2.父控件和子控件      父控件:容纳其他UIView的UIView      子控件:被放置在另外的UIView中得UIView   B.UIViewCon…
A.沙盒 每个APP都有一个沙盒,是独立存在的   1.Xcode5和Xcode6的模拟器文件目录 a.模拟器路径改版 (1)Xcode5中模拟器路径为:/Users/用户名/Library/Application Support/iPhone Simulator (2)Xcode6中模拟器路径为:/Users/用户名/ Library/Developer/CoreSimulator   应用程序包:(上图中的Layer)包含了所有的资源文件和可执行文件   b.沙盒路径改版 (1)Xcode5…