自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

转载 UIViewController的基本概念与生命周期

UIViewController的基本概念与生命周期UIViewController是iOS顶层视图的载体及控制器,用户与程序界面的交互都是由UIViewController来控制的,UIViewController管理UIView的生命周期及资源的加载与释放。UIView与UIWindow共同展示了应用程序的用户界面。可以将UIView理解成画布,UIWindow理解成画框。

2015-12-30 18:45:07 385

转载 iOS开发-Xcode Debug、Release、Archive、Profile、Analyze概念解释

1,Debug和Release版本区别?众所周知,我们进行iOS开发,在Xcode调试程序时,分为两种方式,Debug和Release,在Target的Setting中相信大家应该看到很多选项都分为Debug和Release,方便我们分别设置,满足调试和发布的不同需求。Release是发行版本,比Debug版本有一些优化,文件比Debug文件小 Debug是调试版本,Debug和R

2015-12-21 11:04:49 553

原创 frame和bounds的区别

翻译文档上的
bounds是指这个view在它自己坐标系的坐标和大小 而frame指的是这个view在它superview的坐标系的坐标和大小
区别主要在坐标系这一块。

很明显一个是自己为原点的坐标系,一个是以屏幕为原点的坐标系。绝对坐标。。。相对坐标。。。比如屏幕旋转的时候就要以相对来重绘。 
frame 如果一个按钮,是在表格里,按钮的frame 的坐标也是相对的,并不是相对屏幕,也就是说是

2015-12-21 10:59:41 415

原创 【代码】将任意形状的图片裁剪成一个带圆环的头像(附效果图)

原图:  转换后:- (void)viewDidLoad {    [superviewDidLoad];                    //创建一个按钮    UIButton* btn = [[UIButtonalloc]initWithFrame:CGRectMake(self.view.

2015-12-18 23:30:25 1238

原创 【代码】将一张正方形头像裁剪为原型,并保存在沙盒中

//创建一个图片    UIImage *image = [UIImageimageNamed:@"123"];            //获取一个和图片一样大小的上下文对象    UIGraphicsBeginImageContextWithOptions(image.size,NO, 0.0);            

2015-12-18 21:25:23 852

转载 iOS Navigation总结

我们常常会遇到这样的问题:一个应用会有几个视图控制器没有导航栏,那么我们只需要在不需要导航栏的页面将其隐藏。代码如下:#import @class NavController;@class FirstController;@interface AppDelegate : UIResponder UIApplicationDelegate>

2015-12-12 13:12:50 346

转载 UIScrollView的使用及方法的详细介绍

ScrollView       UIScrollView     UIScrollView为了显示多于一个屏幕的内容或者超过你能放在内存中的内容。                 Scroll View为你处理缩小放大手势,UIScrollView实现了这些手势,并且替你处理对于它们的探测和回应。其中需要注意的子类是UITableView以及UITextView(

2015-12-12 13:08:04 412

转载 UITableView 使用及常用方法介绍

首先、对UITableView进行讲解,下面有对它进行实际的应用UITableView      显示大型内容的列表            单行,多列             垂直滚动,没有水平滚动             大量的数据集    性能强大,而且普遍存在于iPhone的应用程序中TableView St

2015-12-12 12:58:50 493

转载 代码实现UIPickerView

先说一下当个组件选取器,我们创建一个数组NSAray来保存选取器中的内容;选取器本身不会储存任何数据,,它通过调用数据源和委托方法来显示数据;但是对于大量数据的数据源,数组并不合适,我们可以做一个静态列表如plist文件或者URL载入,和后面将讲在文件中获取数据,还以多个选取器的之间的关联如何实现;先说下简单的单个选取器:先把效果图贴出来在视图上添加选取器

2015-12-12 12:39:35 265

转载 如何设计优秀的APP应用图标

首先 苹果团队Mike Stern 解释了 UI 和应用图标的重要性:用户并不会根据你使用了多少技术,或是整合了多少 API,或是你使用的代码有多牛逼而去对应用做出评价,而是你的应用能让他们做什么,给他们什么感受。用户期待你的应用能为他们带来直观的、美妙的甚至不可思议的体验。六招助你设计优秀图标有一些错误是开发者们经常犯的,它们也导致了许多应用未能通过应用商店的审核,糟糕的应用图标设计

2015-11-24 21:05:55 472

转载 iOS开发UI篇—transframe属性(形变)

iOS开发UI篇—transframe属性(形变)1. transform属性在OC中,通过transform属性可以修改对象的平移、缩放比例和旋转角度常用的创建transform结构体方法分两大类(1) 创建“基于控件初始位置”的形变CGAffineTransformMakeTranslation(平移)CGAffineTransformMakeS

2015-11-19 22:58:43 317

转载 【OC语法】Foundation框架-NSObject

C中的Foundation框架是系统提供了,他就相当于是系统的一套api,和Java中的一些系统jar很相似,又早起的一批人开发的,内部有很多现有的类和功能提供给我们使用。那么今天首先来介绍一下Foundation框架中的第一个类NSObject在之前介绍了类的相关知识,我们看到我们自定义的类都必须实现NSObject类,这个类内部有很多现有的方法可以供我们使用,比如我们经常使用的allo

2015-11-17 17:37:03 335

转载 【OC语法】代理模式的介绍(运用到多态、id类型作为方法的参数的知识点)

这篇文章我们就来介绍一下OC中的代理模式,关于代理模式,如果还有同学不太清楚的话,就自己去补充知识了,这里就不做介绍了,这里只介绍OC中是如何实现代理模式的。这里举一个简单的例子:小孩类,护士类,保姆类,其中小孩类有两个方法:wash和play这里代理对象就是:护士类、保姆类,小孩类是被代理对象。看一下代码:首先看一下小孩类:Children.h

2015-11-17 16:52:04 383

转载 【OC语法】Protocol协议的介绍

OC中的协议就是相当于Java中的接口(抽象类),只不过OC中的名字更形象点,因为我们在学习Java中的接口时候,看可以知道其实接口就相当于一种契约(协议),给他的实现类打上标记了,当然这个活在Java5.0之后,被注解替代了,因为注解就是为了此功能诞生的。协议就是定义了一组方法,然后让其他类去实现下面来看代码:WithProtocol.h

2015-11-17 16:48:55 422

转载 【OC语法】Categeory(类目)的介绍

这一篇我们介绍一下,OC中的一个特有的亮点:类目首先我们来看一下场景,如果我们现在想对一个类进行功能的扩充,我们该怎么做?对于面向对象编程的话,首先会想到继承,但是继承有两个问题:第一个问题:继承的前提是这个类可以被继承,因为在Java中有些类是不允许继承的,定义成final类,同样的OC中也是有不可以继承的类第二个问题:这个类可以被继承,但是继承我们知道是侵入性的

2015-11-17 16:43:13 597

转载 【OC语法】#import和#include的区别

一、#import和#include的区别当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误但是使用两次#import的话,不会报错,所以他可以解决重复导入的问题,他会做一次判断,如果已经导入一次就不导入了二、关键字@class的作用在来看一下OC中的关键字@class的作

2015-11-17 16:30:26 757

转载 OC三大特性之一:封装的介绍

一、封装学习过Java中类的同学可能都知道了,封装就是对类中的一些字段,方法进行保护,不被外界所访问到,有一种权限的控制功能,Java中有四种访问权限修饰符:public,default,protected,private,访问权限一次递减的,这样我们在定义类的时候,哪些字段和方法不想暴露出去,哪些字段和方法可以暴露,可以通过修饰符来完成,这就是封装,下面来看一个例子吧:Car.h

2015-11-04 22:41:17 428

转载 OC三大特性之一:多态的介绍

三、多态多态对于面向对象思想来说,个人感觉是真的很重要,他对以后的编写代码的优雅方式也是起到很重要的作用,其实现在很多设计模式中大部分都是用到了多态的特性,Java中的多态特性用起来很是方便的,但是C++中就很难用了,其实多态说白了就是:定义类型和实际类型,一般是基于接口的形式实现的,不多说了,直接看例子吧:打印机的例子抽象的打印机类PrinterPrinter.h

2015-11-04 22:25:13 344

转载 OC三大特性之一:继承的介绍

继承:    就是一个类A拥有了类B的所有属性和方法     代码中实现继承:            定义类的时候,在类名后面加:然后接要继承的类名     父类:被继承的那个类     子类:继承的那个类     基类:就是父类,或者也指NSObject     根类:NSObject

2015-11-04 22:16:22 367

原创 OC多态练习-支付宝(存款、转账、在程序运行时读取上次运行结束时的存款余额)

#import #import "alipay.h"#import "ICBC.h"#import "CBC.h"/** *  扣款 */int pay(alipay* c){        return [c  koukuan];}int main(int argc,const c

2015-11-04 22:14:03 659

翻译 如何使用Fread和Fwrite写一个复制文件的函数

#include int main(int argc,const char * argv[]) {       //读取原文件    FILE *fpRead =fopen("/Users/ios001/Movies/高清无码声音又好听的片.mp4","r");        //拷贝新的文件    FILE *fpWri

2015-10-27 23:15:07 1204

翻译 文件流:Fread&Fwrite

fread:        fread(保存数据的地址,每块的字节大小,读取多少块,文件指针);     首先它是读取文件的,而且任何问题都可以读,而且是分块读取         第一个,因为任何文件都可以读,所以保存数据的地址是可以不同类型         分块来读,所以要设置每块的字节大小,一共要读取多少块,去哪个文件读 

2015-10-27 23:09:06 579

翻译 指针运算、指针函数、函数指针、结构体指针以及枚举的介绍

指针运算:   1.指针与整数的运算:                    a.指针与整数的运算只能加减,不能乘除取余                    b.指针与整数的运算得到的结果还是指针(地址)             公式: 指针 + n = 指针 + n * 指向的类型所占的字节数                      

2015-10-27 23:06:05 784

翻译 字符串的数组表示法&指针表示法&常量表示法

变量:        int num = 10;     常量:        10     字符串也由变量和常量之分:        变量:            char str[] = "abc";         常量:            "abc";       

2015-10-23 22:28:43 1030

翻译 字符串同数组名是一个地址变量,不能直接赋值,更不能用==来判断两个字符串是否相等

%s 用来控制输入以及输出的字符串         注意:        1.数组名是一个地址常量,所以如果用scanf进行输入的话,只要写数组名就行了,不要加&         2.千万要记得,准备输入的时候,数组一定要足够长,不然可能出现未知错误,把数据写到其他人的空间里(越界造成的)      再注意:

2015-10-23 22:22:02 1419 1

翻译 字符串是什么?字符串应用在什么场景中?如何定义字符串

'a','b','c',这些都是字符,字符都是保存单个的字母     那么我想保存多个字母怎么办??例:abc     但是C语言中没有字符串类型!!!        用数组就可以一个变量保存多个字符     例:char str[3] = {'a','b','c'};     如果要输出全部内容,必须使用for循环,

2015-10-23 22:14:09 1241

原创 什么是指针?如何理解指针?指针又是如何定义与使用的?

指针:    指针就是地址,地址就是指针     内存地址都是以16进制表现的,表现形式为以0x开头,然后后面是1-9还有a-f         我们如果想把指针给保存起来,有指针类型!     指针类型:            总结而言就是类型加*就是指针类型         指针类型       

2015-10-23 22:04:01 681

翻译 二维数组的介绍、遍历以及长度的计算

二维数组:一个数组里面每个元素又是一个数组                     二维数组可以看做一个平面     语法:             类型  数组名[行][列];      二维数组初始化:        1.先定义,后赋值            int nums[3][2];

2015-10-23 21:46:22 1527

原创 数组冒泡排序的代码及其详细剖析

5  4  3  2  1  第0轮 : 4  5  3  2  1                 4  3  5  2  1       4  3  2  5  1       4  3  2  1  5  比较4次  第1轮 :3  4  2  1  5                3  2  4  1  5

2015-10-20 23:07:32 776

翻译 数组作为函数参数时的使用注意

1.数组和数组变量之间,不能赋值        例:int nums[5] = {1,2,3,4,5};            int nums2[5] = nums; //报错的  2.数组名声明后也不能赋值             int nums[5];             nums = {1,2,3,4,5};  为什么会

2015-10-20 23:03:17 1217

翻译 数组的介绍以及其详细使用需要注意的地方

苍老师班里面有5个学生,经过了一次考试,需要保存这5个学生的成绩需要5个变量     100个学生    又经历一次考试,每个学生的成绩都要保存起来要保存100个数据,就需要用100个变量,非常的不方便     所以我们就在想有没有一种变量,可以保存100个不同的数据      有!     数组!  

2015-10-20 22:55:58 422

翻译 预处理指令(神秘的include#)

预处理指令:        简单来说就是在程序编译之前做的一些事(操作)         预处理命令的写法共同特点:都是以#开头,不需要加分号  文件包含命令:        #include                是一个文件包含命令          作用:就是把某个文件内的内容给读取出来放到相应

2015-10-20 22:31:47 516

翻译 函数、全局变量、局部变量和返回值的介绍与使用注意

break:     结束当前所在的循环   continue:结束本次循环,继续下次循环  return:    结束当前函数   函数: 就是把一段完成独立功能的代码打包起来   函数原则:功能单一性   无参无返回值的函数:        语法:

2015-10-20 22:29:37 1406

原创 scanf函数、算术运算符及逗号表达式的使用注意

scanf函数:        语法:scanf("格式化字符串",地址列表);            例:            scanf("%d",&int类型的变量);             int num;            scanf("%d",&num);  scanf使用注意 1.可以

2015-10-17 22:27:17 864

翻译 三目运算符、关系运算符优先级、if循环语句;

关系运算符:        >:判断左边表达式是否大于右边表达式,如果大于结果为1,如果小于结果为0                3>5 结果为0   10>2 结果为1                        2        ==:判断左边表达式是否等于右边表达式,如果等于结果为1,如果不等于结果为0               

2015-10-17 22:13:11 2807

翻译 常量、变量、格式化控制符和转义字符的使用规范及注意事项

常量:    固定不变的量  两种表示方法:    1.字面量表示法        直接写值就是字面量常量        10;        20 + 10; //常量表达式     2.名字表示法        语法:            const 类型 名字 = 值;

2015-10-13 23:45:19 603

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除