- 博客(15)
- 资源 (36)
- 收藏
- 关注
原创 在项目当中如何对UIButton进行重新布局
在重新布局之前,我们首先要弄清楚UIButton构成。 UIButton内部默认有个UIImageView、UILabel控件,可以分别用下面属性访问: @property(nonatomic,readonly,retain) UIImageView *imageView; @property(nonatomic,readonly,retain) UILabel *titleLab
2016-03-31 19:51:07 4370
原创 探究imageNamed 与imageWithContentsOfFile加载图片本质区别
IOS内存稀缺,而图片资源通常又是最占内存的部分之一,因此,选择如何加载图片,对于优化应用内存占用量,能起到立竿见影的效果。通常加载图片的方式有两种: 一、imageNamed 这种方法会首先在系统缓存中根据指定的名字寻找图片,如果找到了就返回。如果没有在缓存中找到图片,该方法会从指定的文件中加载图片数据,并将其缓存起来,然后再把结果返回,下次再使用该名称图片的时候就省去了从硬盘中加载图片的过程
2016-03-21 15:37:41 4134 1
原创 Graphics 框架画各种图形(圆、三角形、扇形、弧线、圆角矩形等等)
Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低级别、轻量级、高保真度的2D渲染。该框架可以用于基于路径的绘图、变换、颜色管理、脱屏渲染,模板、渐变、遮蔽、图像数据管理、图像的创建、遮罩以及PDF文档的创建、显示和分析。 iOS支持两套图形API族:Core Graphics/QuartZ 2D 和OpenGL ES。OpenGL
2016-03-16 21:20:45 25422 1
原创 cell动画显示
第一步:使用CATransform3D在Y和Z轴上做旋转设置。 第二步:定义cell的初始状态,添加了一些阴影,并将第一步中的transform设置给cell中layer的transform matrix。然后将anchor设置为0.0, 0.5,也就是说让cell围绕着左边进行旋转。 第三步:通过动画,将cell设置为原始状态。此处利用了UIView的beginAnimations:conte
2016-03-13 18:57:24 4383
原创 探究 MVC,MVP,MVVM以及VIPER架构
在 iOS 中使用 MVC 架构感觉很奇怪? 迁移到MVVM架构又怀有疑虑?听说过 VIPER 又不确定是否真的值得切换?相信你会找到以上问题的答案,如果没找到请在评论中指出。你将要整理出你在 iOS 环境下所有关于架构模式的知识。我们将带领大家简要的回顾一些流行的架构,并且在理论和实践上对它们进行比较,通过一些小的例子深化你的认知。如果对文中提到的一些关键词有兴趣,可以点击连接去查看更详细的内容。
2016-03-13 14:13:47 4663
原创 探究链式编程思想
在使用 masonry 框架实现自动布局时,在程序里为一个布局穿插着6行左右这样的这里写代码片代码[View mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(anotherView); make.left.equalTo(anotherView); make.width.mas_
2016-03-13 11:31:32 4195
原创 深入探究RunLoop机制
RunLoop 的概念一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让线程能随时处理事件但并不退出,通常的代码逻辑是这样的: function loop() {initialize();do {var message = get_next_message();process_message(message);} while (message !=
2016-03-13 11:17:59 4167
原创 NSCopy与NSMutableCopy技术点
内存管理 NSString的copy实例 对象的copy实例 一、概念 目的:在改变原有对象的时候,不会改变新对象的值 Copy:实现NSCopying协议,创建的是一个不可变副本 MutableCopy:实现NSMutableCopying协议,创建的是一个可变副本 二、内 深拷贝:产生新的对象,所以源对象计数器不变>>>对象拷贝 浅拷贝:不产生新对象,所以源对象计数器加一>>>
2016-03-13 10:38:52 4268
原创 多线程底层的实现
多线程的底层实现? 1)首先搞清楚什么是线程、什么是多线程 1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程) 线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行 比如使用酷狗播放音乐、使用迅雷下载电影,都需要在线程中执行。 多线程? 1个进程中可以开启多条线程,每条线程可以并行(同时)执行不同的任务 进程 ->车间,线程->车间工人 多线程技术可以提高程
2016-03-12 14:35:26 8952
原创 栈、堆、全局存储区、文字常量区、程序代码区
栈区 内存管理由系统控制,存储的为 非静态的局部变量,例如:函数参数,在函数中生命的对象的指针等。 当系统的栈区大小不够分配时, 系统会提示栈溢出。 堆区 内存管理由程序控制,存储的为malloc , new , alloc出来的对象。 如果程序没有控制释放,那么在程序结束时,由系统释放。但在程序运行过程中,会出现内存泄露、内存溢出问题。 分配方式 类似于链表。 全局存储区 全局变量、静态
2016-03-08 17:19:17 4024
原创 向前引用(@class XX)与#直接导入头文件(import “XX.h“)区别
一 什么是向前引用 向前引用,就是将引入头文件的时间尽量延后,只在确有需要时才引入,这样就可用减少类的使用者所需要引入的头文件数量。二 例子 例如A类中定义B类的属性,则需要在B类里面引入A类的头文件。 常见方法为import “A.h”由于在编译 B 类的文件时,不需要知道A类的全部细节(A 类中的方法),若使用 #import “A.h” 则必须知道A.h的全部细节,而Person类中只
2016-03-05 09:08:22 4253
原创 简单介绍下C/S与B/S架构的异同
做过项目人都知道,现在软件开发的整体架构主要分为B/S架构与C/S架构,选择哪种架构不仅对于软件开发公司很重要,也对应用企业很重要。现在就来分析下两种架构的异同点: 一、C/S 架构 架构图: 1、 概念 C/S 架构是一种典型的两层架构,其全程是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户
2016-03-04 19:11:52 9835
原创 PHP运行出现Notice : Use of undefined constant 完美解决方案
Notice: Use of undefined constant title - assumed ‘title’ in F:\wamp\www\load_myweb.php on line 22 Notice: Use of undefined constant content - assumed ‘content’ in F:\wamp\www\load_myweb.php on line 2
2016-03-04 15:20:29 14776
原创 HTML5写的简单登录页面
整体效果图: 主要代码:<!DOCTYPE html><html lang="en" class="no-js"><head> <meta charset="utf-8"> <title> 欢迎来到登录界面 </title> <meta name="viewport"content=&quo
2016-03-04 11:32:35 53326 2
原创 PHP后台数据处理及与web端进行数据交互
一 PHP是什么? PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。执行效率比完全生成HTML标记的CG
2016-03-03 20:55:10 8013
iOS开的常见8中传值(初始化传值,代理传值,属性传值,代理传值,block传值,通知传值,NSuserDefault传值,AppDelegate传值)
2016-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人