<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Mainning的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Mainning</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mainning]]></copyright><item><title><![CDATA[揭开MVC,MVP,MVVM,VIPER这几种模式的神秘面纱]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/50327737</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/50327737</guid><author>Mainning</author><pubDate>Wed, 16 Dec 2015 14:51:25 +0800</pubDate><description><![CDATA[Demystifying MVC, MVP, MVVM and VIPER]]></description><category></category></item><item><title><![CDATA[图片拉伸]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44957499</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44957499</guid><author>Mainning</author><pubDate>Thu, 09 Apr 2015 11:26:20 +0800</pubDate><description><![CDATA[我们在导航栏或者标签栏上设置背景图片时会遇到图片的尺寸不够大，在这里介绍几个关于图片拉伸问题的解决办法
1、打开图片，手动更改她的像素大小。
2、contentMode
 UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake((frame.size.width-20)/2, 5, 20, 20)];
 //原图显示,]]></description><category></category></item><item><title><![CDATA[自定义标签工具栏 Tabbar]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44956539</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44956539</guid><author>Mainning</author><pubDate>Thu, 09 Apr 2015 10:40:01 +0800</pubDate><description><![CDATA[简单介绍一下在三级控制器中标签控制器的自定义标签工具栏。]]></description><category></category></item><item><title><![CDATA[多线程之GCD（Grand Central Dispatch）]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44923191</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44923191</guid><author>Mainning</author><pubDate>Tue, 07 Apr 2015 17:23:11 +0800</pubDate><description><![CDATA[1.GCD的优点
2.基本用法
3.高级用法
4.小结]]></description><category></category></item><item><title><![CDATA[多线程之NSOperationQueue(线程队列)]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44921929</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44921929</guid><author>Mainning</author><pubDate>Tue, 07 Apr 2015 16:15:31 +0800</pubDate><description><![CDATA[NSOperationQueue的使用]]></description><category></category></item><item><title><![CDATA[多线程之NSThread的使用]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44919359</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44919359</guid><author>Mainning</author><pubDate>Tue, 07 Apr 2015 13:44:46 +0800</pubDate><description><![CDATA[NSThread的三种使用方法]]></description><category></category></item><item><title><![CDATA[多线程]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44918009</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44918009</guid><author>Mainning</author><pubDate>Tue, 07 Apr 2015 11:28:33 +0800</pubDate><description><![CDATA[一、多线程的基本概念和用法 
1.进程的基本概念 
    每一个进程都是一个应用程序，都有独立的内存空间，一般来说一个应用程序存在一个进程，但也有多个进程的情况。 
2.多线程的基本概念
每一个程序都有一个主线程，程序启动时创建（调用main来启动）
主线程的生命周期是和应用程序绑定的，程序退出时，主线程也就停止了。
多线程技术表示，一个应用程序有多个线程，使用多线程能提供CPU的使用率，防止主线]]></description><category></category></item><item><title><![CDATA[图文混排 FTCoreText]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44904267</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44904267</guid><author>Mainning</author><pubDate>Mon, 06 Apr 2015 18:39:15 +0800</pubDate><description><![CDATA[一、图文混排的概念 
二、研究FTCoreText框架的实现原理 
三、FTCoreText的用法
四、实例]]></description><category></category></item><item><title><![CDATA[autoresizingMask]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44888029</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44888029</guid><author>Mainning</author><pubDate>Sun, 05 Apr 2015 15:12:59 +0800</pubDate><description><![CDATA[本文主要介绍autoresizingMask属性，对UIVIew进行相对的布局。]]></description><category></category></item><item><title><![CDATA[Quartz 2D 实例：Watermark]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44873641</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44873641</guid><author>Mainning</author><pubDate>Sat, 04 Apr 2015 16:10:00 +0800</pubDate><description><![CDATA[UIImage+Watermark.h#import <UIKit/UIKit.h>@interface UIImage (Watermark)- (UIImage *)watermarkImageWithText:(NSString *)text;@endUIImage+Watermark.m#import "UIImage+Watermark.h"@implementation UIImage]]></description><category></category></item><item><title><![CDATA[Quartz 2D绘图基本用法]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44873569</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44873569</guid><author>Mainning</author><pubDate>Sat, 04 Apr 2015 15:59:43 +0800</pubDate><description><![CDATA[1.获取上下文
 2.设置路径（画的形状）
 3.将路径添加到上下文
 4.设置上下文属性（画笔的粗细、颜色、阴影等）
 5.绘制路径
 6.释放路径（某些情况）]]></description><category></category></item><item><title><![CDATA[Block的用法]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44859673</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44859673</guid><author>Mainning</author><pubDate>Fri, 03 Apr 2015 20:53:11 +0800</pubDate><description><![CDATA[1.Block的应用场景 
2. Block和Delegate的区别
3.Block的介绍
4.Block的使用
5.Block与变量和内存管理
6.Block的应用]]></description><category></category></item><item><title><![CDATA[类目：nextResponder]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44858235</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44858235</guid><author>Mainning</author><pubDate>Fri, 03 Apr 2015 18:08:28 +0800</pubDate><description><![CDATA[#import "UIView+ViewController.h"@implementation UIView (ViewController)- (UIViewController *)viewController
{
    id next = [self nextResponder];
    while (next != nil) {        if ([next isKindOfCla]]></description><category></category></item><item><title><![CDATA[IOS之触摸与手势]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44854931</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44854931</guid><author>Mainning</author><pubDate>Fri, 03 Apr 2015 14:23:23 +0800</pubDate><description><![CDATA[一、触摸事件的处理方式 
1.在IOS上，事件有多种形式：触摸事件，运动事件，远程控制事件。 
2.触摸事件的处理方法 
响应者类通过复写以下方法，可以监听触摸事件 
(1)当一个或者多个手指触摸屏幕时： 
- (void)touchesBegan:(NSSet *)touches withEvent: 
(2)当一个或多个手指在屏幕上移动时: 
- (void)touchesMoved:(NSSe]]></description><category></category></item><item><title><![CDATA[IOS之四种数据持久化方式]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44812501</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44812501</guid><author>Mainning</author><pubDate>Wed, 01 Apr 2015 20:24:52 +0800</pubDate><description><![CDATA[一、首先来说一下五种数据持久化方式的优缺点：
1. 属性列表     ：
  简单易用，但是只能适用于小数据量 
2. 对象归档     ：
  对数据进行加密，自定义对象归档，保存的方式是序列化，只能适用于小数据量
3. NSUserDefaults
 ：同步synchronize 应用程序内置(bundle)的一个plist文件里

4. SQLite          ：
]]></description><category></category></item><item><title><![CDATA[触摸与手势之拖拽]]></title><link>https://blog.youkuaiyun.com/Mainning/article/details/44280193</link><guid>https://blog.youkuaiyun.com/Mainning/article/details/44280193</guid><author>Mainning</author><pubDate>Sun, 15 Mar 2015 20:14:59 +0800</pubDate><description><![CDATA[触摸与手势中要求拖拽出一个半透明黑框，并打印位置和大小
1.源代码
2.效果图




//  ViewController.m



#import "ViewController.h"




#define kScreenWidth [UIScreen mainScreen].bounds.size.width

#define kScreenHeight]]></description><category></category></item></channel></rss>