![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
程序员__R
这个作者很懒,什么都没留下…
展开
-
UI基础第十四弹:UITableview控件使用小结
一、UITableview的使用步骤UITableview的使用就只有简单的三个步骤:1.告诉一共有多少组数据方法:- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;2.告诉每组一共有多少行方法:- (NSInteger)tableView:(UITableView *)tab转载 2015-01-20 23:56:31 · 400 阅读 · 0 评论 -
UI进阶第一发:IOS程序完整启动过程及原理
IOS程序原理第二发:IOS程序完整启动过程及原理一:ios程序启动原理1.执行main函数2.创建UIApplicationMain 1>创建UIApplication 2>创建AppDelegate 3>设置UIApplication的对象代理为AppDelegate 4>delegate对象开始处理(监听)系统事件,开启主运行循环,保证程序一直处原创 2015-01-21 00:18:12 · 532 阅读 · 0 评论 -
UI进阶第二发:使用storyboard创建导航控制器以及控制器的生命周期
一、基本过程新建一个项目,系统默认的主控制器继承自UIViewController,把主控制器两个文件删掉。在storyboard中,默认的控制器是View Controller,而我们需要的是导航控制器,那么就把系统的给删掉,拖一个导航控制器进来,导航控制器中默认的第一个子控制器是一个tableview controller,这里不需要,把它删掉,重新拖三个View Controller转载 2015-01-21 00:24:47 · 617 阅读 · 0 评论 -
UI进阶第六发:ios应用数据存储方式(偏好设置)
一、简单介绍很多iOS应用都支持偏好设置,比如保存用户名、密码、字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能每个应用都有个NSUserDefaults实例,通过它来存取偏好设置。比如,保存用户名、字体大小、是否自动登录存储位置:存储形式:二、代码示例1.storyboard2.代码转载 2015-01-21 00:38:01 · 405 阅读 · 0 评论 -
UI进阶第八发:Suege和Modal
Segue 是storyboard用来页面跳转的线 ——> UIStiryboardSegue 对象1.三个必备属性: 唯一标识:indetifier 来源控制器(在左边)sourceViewController 目标控制器 (在右边) destinationViewController2.分类:(Segue根据跳转形式 )自动型Segue:(点击按钮之原创 2015-01-21 00:54:51 · 536 阅读 · 0 评论 -
UI进阶第九发:iOS事件产生和传递过程(包括底层)
事件产生和传递:1>事件产生传递过程发生触摸后-->UIApplition -->UIWindow(keyWindow,主窗口)-->窗口要找一个最合适的view2>描述述事件产生传递过程one:发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中two:UIApplication会从事件队列中取出最前面的事件 并原创 2015-01-21 01:03:20 · 654 阅读 · 0 评论 -
UI基础第十四弹:UITableview控件基本使用
一、一个简单的英雄展示程序NJHero.h文件代码(字典转模型) 1 #import 2 3 @interface NJHero : NSObject 4 /** 5 * 头像 6 */ 7 @property (nonatomic, copy) NSString *icon; 8 /** 9 * 名称10 */11 @property (non翻译 2015-01-20 23:29:54 · 317 阅读 · 0 评论 -
UI基础第十四弹:接使用UITableView Controller
一、一般过程 1 // 2 // YYViewController.h 3 // UITableView Controller 4 // 5 // Created by 孔医己 on 14-6-2. 6 // Copyright (c) 2014年 itcast. All rights reserved. 7 // 8 9 #import 10 11 @i转载 2015-01-21 00:01:46 · 495 阅读 · 0 评论 -
UI基础第十四弹:使用UItableview完成一个简单的QQ好友列表(一)
一、项目结构和plist文件 二、实现代码1.说明:主控制器直接继承UITableViewController // YYViewController.h// 02-QQ好友列表(基本数据的加载)//// Created by apple on 14-5-31.// Copyright (c) 2014年 itcase. All转载 2015-01-21 00:03:28 · 535 阅读 · 0 评论 -
UI进阶第二发:导航控制器属性和基本使用
一、导航控制器的一些属性和基本使用1.把子控制器添加到导航控制器中的四种方法(1) 1.创建一个导航控制器 UINavigationController *nav=[[UINavigationControlleralloc]init];2.设置导航控制器为window的根视图 self.window.rootViewController=转载 2015-01-21 00:21:33 · 481 阅读 · 0 评论 -
UI基础第十四弹:实现UItableview使用嵌套模型完成的一个简单汽车图标展示程序
一、plist文件和项目结构图说明:这是一个嵌套模型的示例二、代码示例: YYcarsgroup.h文件代码: 1 // 2 // YYcarsgroup.h 3 // 07-汽车展示(高级) 4 // 5 // Created by apple on 14-5-28. 6 // Copyright (c) 2014年 itcase.转载 2015-01-20 23:51:52 · 634 阅读 · 0 评论 -
UI基础第十弹:Kvc简单介绍
一、KVC简单介绍KVC key valued coding 键值编码KVC通过键值间接编码 补充:与KVC相对的时KVO,即key valued observer 键值观察。监听某一个模型的属性,只要模型属性的值一变化就通知你。二、使用KVC1.KVC基本使用介绍(1)代码示例:新建一个命令行项目,用以演示KVC的用法完成原创 2015-01-20 00:56:41 · 505 阅读 · 0 评论 -
UI基础第八弹:xib的简单使用
一、简单介绍xib和storyboard的比较,一个轻量级一个重量级。共同点:都用来描述软件界面都用Interface Builder工具来编辑不同点:Xib是轻量级的,用来描述局部的UI界面Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系二、xib的简单使用1.建立xib文件转载 2015-01-20 00:53:36 · 570 阅读 · 0 评论 -
UI基础第十四弹:UITableview的动态单元格制作应用管理
一、实现效果说明:该示例在storyboard中使用动态单元格来完成。二、实现1.项目文件结构和plist文件2.实现过程以及代码在tableview的属性选择器中选择动态单元格。说明:在storyboard中直接使用其自带的动态单元格完成tableviewcell的定义,并创建了一个管理该cell的类,进行了连线。转载 2015-01-21 00:01:26 · 483 阅读 · 0 评论 -
UI基础第十四弹:使用UItableview完成一个简单的QQ好友列表(一)
一、实现效果 二、实现代码1.数据模型部分 YYQQGroupModel.h文件 1 // 2 // YYQQGroupModel.h 3 // 02-QQ好友列表(基本数据的加载) 4 // 5 // Created by apple on 14-5-31. 6 // Copyright (c) 2014年 itc转载 2015-01-21 00:04:32 · 531 阅读 · 0 评论 -
UI基础第十四弹: 简单介绍静态单元格的使用
一、实现效果与说明 说明:观察上面的展示效果,可以发现整个界面是由一个tableview来展示的,上面的数据都是固定的,且几乎不会改变。要完成上面的效果,有几种方法:(1)可以直接利用代码,返回三组,在判断每组有多少行,展示些什么数据,这样写“死”的代码建议绝不要使用。(2)稍微灵活一些的,可以把plist文件一懒加载的方式,加载到程序中,动态获转载 2015-01-21 00:05:48 · 571 阅读 · 0 评论 -
UI进阶第四发:Date Picker和UITool Bar控件简单介绍
一、Date Picker控件1.简单介绍:Date Picker显示时间的控件有默认宽高,不用设置数据源和代理如何改成中文的?(1)查看当前系统是否为中文的,把模拟器改成是中文的(2)属性,locale选择地区如果默认显示不符合需求。时间有四种模式可以设置,在model中进行设置时间可以自定义(custom)。设置最小时间和最大时间,超过就会自动回到最小时转载 2015-01-21 00:29:23 · 475 阅读 · 0 评论 -
UI进阶第五发:使用picker View控件完成一个简单的选餐应用
一、实现效果 说明:点击随机按钮,能够自动选取,下方数据自动刷新。 二、实现思路1.picker view的有默认高度为162,不可修改。2.显示数据,需要设置数据源,也有两种方式(成为数据源,遵守协议)3.实现数据源里面的两个方法1)返回一共有多少列2)在这一列中一共有多少行4.通过代理告诉它那一列的哪一行显示哪些数据(转载 2015-01-21 00:30:17 · 655 阅读 · 0 评论 -
UI进阶第六发:ios应用数据存储方式(归档)
一、简单说明在使用plist进行数据存储和读取,只适用于系统自带的一些常用类型才能用,且必须先获取路径相对麻烦;偏好设置(将所有的东西都保存在同一个文件夹下面,且主要用于存储应用的设置信息)归档:因为前两者都有一个致命的缺陷,只能存储常用的类型。归档可以实现把自定义的对象存放在文件中。二、代码示例1.文件结构 2.代码示例 Y转载 2015-01-21 00:38:57 · 457 阅读 · 0 评论 -
UI基础第一弹:旋转,平移,缩放动画
移动:// 声明移动对象@property (weak, nonatomic) IBOutlet UIButton *head;// transform 描述控件的变换(动画)CGAffineTransform transform = self.head.transform;self.pic.transform=CGAffineTransformTranslate(t原创 2014-12-26 23:22:02 · 793 阅读 · 0 评论 -
UI基础第四弹:简单的图片查看程序
一、程序实现要求1.要求2. 界面分析(1) 需要读取或修改属性的控件需要设置属性序号标签图片图片描述左边按钮右边按钮(2) 需要监听响应事件的对象,需要添加监听方法左边按钮右边按钮二、实现基本功能的程序 1 // 2 // YYViewController.m 3 //转载 2015-01-20 00:45:01 · 622 阅读 · 0 评论 -
UI基础第五弹:懒加载
1.懒加载基本懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法.注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化2.使用懒加载的好处:(1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强(2)每个控件的getter方法中分别负责各自的实例化处理,代转载 2015-01-20 00:48:04 · 459 阅读 · 0 评论 -
UI进阶第六发:ios应用数据存储方式(XML属性列表-plist)
一、ios应用常用的数据存储方式1.plist(XML属性列表归档)2.偏好设置3.NSKeydeArchiver归档(存储自定义对象)4.SQLite3(数据库,关系型数据库,不能直接存储对象,要编写一些数据库的语句,将对象拆开存储)5.Core Data(对象型的数据库,把内部环节屏蔽)二、应用沙盒每个iOS应用都有⾃己的应⽤沙盒(应用沙盒就是文转载 2015-01-21 00:35:54 · 615 阅读 · 0 评论 -
UI基础第九弹:从代码的逐步优化看MVC
一、要求要求完成下面一个小的应用程序。 二、一步步对代码进行优化注意:在开发过程中,优化的过程是一步一步进行的。(如果一个人要吃五个包子才能吃饱,那么他是否直接吃第五个,前面四个不用吃就饱了?)1.完成基本要求的代码(使用了字典转模型和xib连线)(1)文件结构(2)主要代码 字典转模型部分: YYappInfo.h头文件 1 // 2转载 2015-01-20 00:56:06 · 460 阅读 · 0 评论 -
ios 地图导航
自带导航// 使用系统自带的 NSString *destination = 地址; if ((destination.length ==0)) return; // 2.地理编码 CLGeocoder *geocoder = [[CLGeocoderalloc] init]; [geocod原创 2015-06-26 15:25:33 · 636 阅读 · 0 评论 -
Xcode/iphone 此证书是由未知颁发机构签名的
xocde不能打包,证书处报错“此证书是由未知颁发机构签名的”,解决办法是重新下载AppleWWDRCA.cer,完美解决。地址是:http://developer.apple.com/certificationauthority/AppleWWDRCA.cer原创 2015-08-13 13:59:13 · 904 阅读 · 0 评论 -
分享页面切换滚动效果
滚动横线实现逻辑:1.使用kvo监听scrollView [self.scroll addObserver:selfforKeyPath:@"contentOffset"options:NSKeyValueObservingOptionNew |NSKeyValueObservingOptionOld context:nil];2.设置- (void)原创 2015-08-27 12:32:49 · 343 阅读 · 0 评论 -
View顶部设置圆角/部分圆角
CAShapeLayer *styleLayer = [CAShapeLayer layer]; UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRoundedRect:self.comView.bounds byRoundingCorners:(UIRectCornerTopLeft|UIRectCornerTopRight原创 2015-07-23 10:34:36 · 1298 阅读 · 0 评论 -
Swift学习文档记录(一)函数
1.多重输入参数:函数可以有多个输入参数,写在圆括号中,用逗号分隔。func halfOpenRangeLength(start: Int, end: Int) -> Int { return end - start}2.无参函数:函数可以没有参数func sayHelloWorld() -> String { return "hello, world"}原创 2015-09-09 20:36:18 · 399 阅读 · 0 评论 -
Mac OS X 更新到10.11后cocoapods安装出现的问题(- bad response Not Found 404 (http://ruby.taobao.org/latest_spe)
今天在用cocoapods安装第三方库时出现问题,so?怎么用着好好就不能用了。查找原因是不是ruby需要更新,结果更新了也没有用,那就重新安装最新版的cocoapods来解决问题吧,结果~,报错了...... 报错情况如下:ERROR: Could not find a valid gem 'cocospods’ (>= 0), here is why:转载 2015-10-22 12:57:47 · 706 阅读 · 0 评论 -
ios 新特性
设置http访问: 在Info.plist中添加NSAppTransportSecurity类型Dictionary。 在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES。访问白名单:LSApplicationQueriesSchemessinaweiboweibosdkmqqmq原创 2015-11-11 17:45:15 · 440 阅读 · 0 评论 -
xcode插件整理
安装插件管理工具: curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh原创 2015-11-05 14:16:50 · 509 阅读 · 0 评论 -
git使用系列
git使用1.分支管理:创建分支: git checkout -b dev 提交分支到远程服务器: git push origin dev 切换分支: git checkout master 合并分支: 合并开发分支到master分支,首先切换到master分支,再进行merge操作git merge dev原创 2015-07-02 22:35:36 · 353 阅读 · 0 评论 -
ios滑动返回
首先再这个方法设置代理 - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; self.navigationController.interactivePopGestureRecognizer.delegate = self;}然后实现代理方法- (BOOL)g原创 2015-06-16 11:15:46 · 483 阅读 · 0 评论 -
ios 复制字符串到剪贴板
1.文本UILable设置可以交互2.添加长按手势UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizeralloc]initWithTarget:selfaction:@selector(copyText:)];[jobInfoText addGestureRecognizer:longP原创 2015-05-04 19:03:45 · 1792 阅读 · 0 评论 -
UI基础第十四弹:UItableview使用代码自定义团购页面
一、实现效果 二、使用纯代码自定义一个tableview的步骤1.新建一个继承自UITableViewCell的类2.重写initWithStyle:reuseIdentifier:方法添加所有需要显示的子控件(不需要设置子控件的数据和frame, 子控件要添加到contentView中)进行子控件一次性的属性设置(有些属性只需要设置一次,转载 2015-01-20 23:55:56 · 493 阅读 · 0 评论 -
UI进阶第一发:UIApplication
UIApplication1.概念:UIApplication对象时应用程序的象征 1>每一个应用都有自己的UIApplication对象,它是单例模式的,通过[UIApplicationsharedApplication]创建 2>iOS程序启动后创建的第一个对象就是UIApplication,利用它能进行一些应用级别的操作2.常用方法1>获得系统原创 2015-01-21 00:16:08 · 508 阅读 · 0 评论 -
UI进阶第九发:iOS常用事件
1.IOS事件类型1>触摸事件2>加速计事件3>远程控制器2.响应者对象: UiResponder1>含义与作用:继承了UiResponder 的对象(UIApplication,UIView,UIewController)只有继承了UiResponder的对象才可以接收并处理事件2>UiResponder对象方法one:触摸事件开始原创 2015-01-21 01:00:48 · 428 阅读 · 0 评论 -
UI基础第十弹:KOC简单介绍
KVO:时刻监听一个对象里面的属性改变(观察者,给一个对象添加一个观察者,时刻监听这个对象里面的属性的改变)- (void)addObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context;原创 2015-01-20 00:58:55 · 479 阅读 · 0 评论 -
UI基础第十三弹: UIScrollView控件
一、知识点简单介绍1.UIScrollView控件是什么?(1)移动设备的屏幕⼤大⼩小是极其有限的,因此直接展⽰示在⽤用户眼前的内容也相当有限(2)当展⽰示的内容较多,超出⼀一个屏幕时,⽤用户可通过滚动⼿手势来查看屏幕以外的内容(3)普通的UIView不具备滚动功能,不能显⽰示过多的内容(4)UIScrollView是一个能够滚动的视图控件,可以⽤用来展⽰示转载 2015-01-20 22:51:20 · 402 阅读 · 0 评论