![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
LayneCheung
这个作者很懒,什么都没留下…
展开
-
iOS 仿网易新闻结构
1.首页效果2.滑动过程中颜色渐变,文字缩放3.滑动结束边缘标题自动适当居中实现代码://// ViewController.m// 网易新闻//// Created by llkj on 2017/11/20.// Copyright © 2017年 LayneCheung. All rights reserved.//#import "ViewController.h"#i原创 2017-11-22 16:18:44 · 1655 阅读 · 0 评论 -
iOS 多线程开发(一)
一 基本概念1. 进程进程是指在系统中正在运行的一个应用程序。每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内。2. 线程2-1 基本概念 1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程),线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行。2-2 线程的串行 1个线程中任务的执行是串行的,如果要在1个线程中执行多个任务,那么只能一个原创 2017-09-18 15:59:45 · 384 阅读 · 0 评论 -
iOS 图片折叠效果
效果图: 结构布局:拖两个UIImageView到控制器,设置相同的frame和图片,再拖一个大的UIImageView盖在上面,注意把大的imageView.userInteractionEnabled = YES;能够添加手势。 注意层次结构: 核心代码://// ViewController.m// 图片折叠//// Created by llkj on 2017/8/31原创 2017-08-31 17:12:51 · 575 阅读 · 0 评论 -
iOS 转盘效果
Demo下载地址:http://download.csdn.net/download/u010981736/9958869功能:实现了常用的iOS转盘效果,轮盘抽奖效果的实现,转盘可以暂停,旋转,已经快速旋转抽奖,选中的效果指向正上方。效果图: 工程文件目录: 核心代码://// ViewController.m// 转盘效果//// Created by llkj on 2017原创 2017-08-31 15:36:20 · 1432 阅读 · 0 评论 -
iOS 图片抖动
效果图:核心代码://// ViewController.m// 图标抖动//// Created by llkj on 2017/8/29.// Copyright © 2017年 LayneCheung. All rights reserved.//#import "ViewController.h"#define angle2Rad(angle) ((angle) / 18原创 2017-08-29 17:25:41 · 493 阅读 · 0 评论 -
iOS 简易钟表实现
效果图:注意:表盘是一个UIImageView控件,设置image为表盘图片 核心代码://// ViewController.m// 时钟//// Created by llkj on 2017/8/29.// Copyright © 2017年 LayneCheung. All rights reserved.//#import "ViewController.h"//每一原创 2017-08-29 16:01:09 · 1161 阅读 · 0 评论 -
iOS 九宫格连线手势解锁
Demo下载地址:http://download.csdn.net/download/u010981736/9948271效果图:核心代码://// ClockView.m// 手势解锁//// Created by llkj on 2017/8/24.// Copyright © 2017年 LayneCheung. All rights reserved.//#import原创 2017-08-24 14:21:23 · 993 阅读 · 0 评论 -
iOS QQ粘性布局
Demo下载地址:http://download.csdn.net/download/u010981736/9964836iOS 仿照QQ未读消息提醒数字的粘性布局,实现了和QQ未读消息一样的功能,拖拽的时候会有粘性效果,在一定范围内拖拽松手还会回到原来的位置,超过一定距离之后就会播放一个动画。效果图: 核心代码://// BageValueBtn.m// QQ粘性布局//// Cr原创 2017-09-05 14:14:52 · 314 阅读 · 0 评论 -
iOS 把图片裁剪成圆形
原图: 圆形图片裁剪效果:裁剪成带边框的圆形图片:核心代码:#import <UIKit/UIKit.h>@interface UIImage (image)/** * 生成一张圆形图片 * * @param image 要裁剪的图片 * * @return 生成的圆形图片 */+ (UIImage *)imageWithClipImage:(UIImage *)im原创 2017-08-23 15:08:41 · 3300 阅读 · 0 评论 -
iOS 给图片加水印
效果图:核心代码:#import "ViewController.h"@interface ViewController ()@property (weak, nonatomic) IBOutlet UIImageView *imageV;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad];原创 2017-08-23 11:42:13 · 502 阅读 · 0 评论 -
iOS 画板、涂鸦
Demo下载地址:http://download.csdn.net/download/u010981736/9950247功能:iOS画板涂鸦,支持横竖屏适配,涂鸦的内容可以保存为图片,也可以把已有的图片添加到画板去修改,然后再保存为新的图片到相册。效果图:竖屏: 横屏: 核心代码:界面使用XIB脱线完成的,做了横竖屏的适配;ViewController文件//// HandleImageV原创 2017-08-25 15:18:00 · 649 阅读 · 0 评论 -
iOS 上下滑动tableView导航透明度逐渐改变
demo下载地址:http://download.csdn.net/download/u010981736/9934641效果如下:核心代码://// ViewController.m// 渐变导航//// Created by llkj on 2017/8/15.// Copyright © 2017年 LayneCheung. All rights reserved.//#i原创 2017-08-15 15:26:33 · 1575 阅读 · 0 评论 -
iOS UITabBarController
UITabBarController跟UINavigationController类似,UITabBarController也可以轻松地管理多个控制器.UITabBarController的View结构.UITabBarController它是一个控制器,所以它也有自己的View. 它view内部的结构为一个专门存放子控制器View的View,和一个UITabBar条. 注意:UITabBar原创 2017-08-15 13:38:31 · 202 阅读 · 0 评论 -
iOS NSOperation
1 NSOperation基本使用(1)相关概念01 NSOperation是对GCD的包装02 两个核心概念【队列+操作】(2)基本使用01 NSOperation本身是抽象类,只能只有它的子类02 三个子类分别是:NSBlockOperation、NSInvocationOperation以及自定义继承自NSOperation的类03 NSOperation和NSOperationQueu原创 2017-09-27 11:25:43 · 160 阅读 · 0 评论 -
iOS const static extern
一、const与宏的区别const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量。 编译时刻:宏是预编译(编译之前处理),const是编译阶段。编译检查:宏不做检查,不会报编译错误,只是替换,const会编译检查,会报编译错误。宏的坏处:使用大量宏,容易造成编译时间久,每次都需要重新替换。// 常见的常量:抽成宏#define Account原创 2017-11-16 14:29:24 · 259 阅读 · 0 评论 -
iOS KVC原理
#import "StatusItem.h"@implementation StatusItem// 模型只保存最重要的数据,导致模型的属性和字典不能一一对应+ (instancetype)itemWithDict:(NSDictionary *)dict{ StatusItem *item = [[self alloc] init]; // KVC:把字典中所有值给模型的属性赋值原创 2017-11-15 14:28:00 · 346 阅读 · 0 评论 -
iOS runtime
一、runtime简介RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。例如:在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错。原创 2017-11-15 13:52:38 · 266 阅读 · 0 评论 -
iOS weak和assign修饰OC对象的区别
/* 1.weak 1> OC对象 2.assign 1> 基本数据类型 2> OC对象 3.strong 1> OC对象 4.copy 1> NSString 2> block 5.使用weak和assign修饰OC对象的区别 1> 成员变量 1) weak生成的成员变量是用__weak修饰的,比如Cat * __weak _cat; 2) assign生成的成员变量是用__u原创 2017-11-03 15:04:09 · 1806 阅读 · 0 评论 -
iOS 获取缓存大小与清除缓存
首先要获取cache文件夹路径#define cachePath [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]//// LLFileTool.h// BuDeJie//// Created by llkj on 2017/10/13.// Cop原创 2017-10-16 11:24:27 · 6321 阅读 · 0 评论 -
iOS 保存图片到自定义相册
iOS 10开始,保存图片要获得隐私权限,要在info.plist添加一项key是Privacy - Photo Library Usage Description 要不然会报错 保存按钮点击事件- (void)save { PHAuthorizationStatus oldStatus = [PHPhotoLibrary authorizationStatus]; // 请求\检查原创 2017-11-10 11:05:57 · 1951 阅读 · 1 评论 -
iOS 解决按钮背景图拉伸问题
问题如图:设置按钮的背景图片被拉伸解决方案- (void)awakeFromNib{ [super awakeFromNib]; //让背景图片不要拉伸 UIImage *image = _loginRegisterBtn.currentBackgroundImage; image = [image stretchableImageWithLeftCapWidth:原创 2017-10-09 15:17:14 · 1355 阅读 · 0 评论 -
iOS cell分割线不能占据整个屏幕宽度解决方案
iOS系统默认的cell分割线并不会占满整个屏幕的宽度,但是有些PM设计的cell分割线是要求占满的; 几种解决方案根据自己的需求选择:1.自定义分割线//取消系统自带的分割线self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;// 自定义cell的时候创建一个分割线添加到cell底部,盖在原来的分割线上面UIVi原创 2017-09-30 15:15:20 · 508 阅读 · 0 评论 -
屏蔽iOS11 Xcode9下打印的乱七八糟的日志
[MC] Lazy loading NSBundle MobileCoreServices.framework[MC] Loaded MobileCoreServices.framework[MC] System group container for systemgroup.com.apple.configurationprofiles path is /Users/llkj/Library/Developer原创 2017-10-09 13:48:22 · 2697 阅读 · 0 评论 -
iOS Runloop
1.1 字面意思1.运行循环2.跑圈1.2 基本作用(作用重大) 1. 保持程序的持续运行(ios程序为什么能一直活着不会死) 2. 处理app中的各种事件(比如触摸事件、定时器事件【NSTimer】、selector事件【选择器·performSelector···】) 3. 节省CPU资源,提高程序性能,有事情就做事情,没事情就休息1.3 重要说明(1)如果没有Runloop,那原创 2017-09-27 13:51:12 · 173 阅读 · 0 评论 -
iOS GCD
一、GCD基本知识1、GCD简介全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 纯C语言,提供了非常多强大的函数2、GCD的优势GCD是苹果公司为多核的并行运算提出的解决方案 GCD会自动利用更多的CPU内核(比如双核、四核) GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程) 程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码3、原创 2017-09-18 16:23:42 · 490 阅读 · 0 评论 -
iOS SDWebImage基本使用
01 设置imageView的图片 [cell.imageView sd_setImageWithURL:[NSURL URLWithString:app.icon] placeholderImage:[UIImage imageNamed:@"placehoder"]]; 02 设置图片并计算下载进度 //下载并设置图片 /* 第一个参数:要下载图片的原创 2017-09-27 11:29:51 · 243 阅读 · 0 评论 -
iOS 手动实现modal效果,从底部弹出一个控制器
系统模态方法://点击modal时调用.- (IBAction)modal:(id)sender {//当一个控制器被销毁的时候,控制器的View是可以存在的. //当一个控制器被销毁的时候,控制器View上所有的业务逻辑都不能够处理. TwoViewController *twoVC = [[TwoViewController alloc] init]; self.twoVC = t原创 2017-08-15 11:35:16 · 2210 阅读 · 0 评论 -
iOS 画饼图
效果图:核心代码:#import "PieView.h"@implementation PieView- (void)drawRect:(CGRect)rect { // Drawing code NSArray *dataArray = @[@25,@25,@15,@15,@10,@10]; CGPoint center = CGPointMake(self.bounds.原创 2017-08-22 09:57:24 · 161 阅读 · 0 评论 -
iOS 响应者链条
触摸事件处理的详细过程原创 2017-08-17 16:37:34 · 235 阅读 · 0 评论 -
iOS 事件的产生和传递
事件的产生原创 2017-08-17 16:30:49 · 225 阅读 · 0 评论 -
iOS UITouch、UIEvent
一、UITouch二、UIEvent原创 2017-08-17 16:26:14 · 420 阅读 · 0 评论 -
iOS 中的事件、响应者对象、UIResponder
iOS中的事件原创 2017-08-17 16:12:35 · 242 阅读 · 0 评论 -
iOS transform(平移、旋转、缩放)
一、平移//平移[UIView animateWithDuration:0.5 animations:^{//使用Make,它是相对于最原始的位置做的形变.//self.imageV.transform = CGAffineTransformMakeTranslation(0, -100);//相对于上一次做形变.self.imageV.transform = CGAffineTransf原创 2017-08-17 15:48:14 · 9521 阅读 · 0 评论 -
iOS 拖拽View跟随手指浮动
效果图:1.自定义要跟随手指浮动的那个View//// OrangeView.m// 拖拽View跟随手指浮动//// Created by llkj on 2017/8/16.// Copyright © 2017年 LayneCheung. All rights reserved.//#import "OrangeView.h"@implementation OrangeVi原创 2017-08-17 10:33:05 · 4045 阅读 · 0 评论 -
iOS UIApplicationMain
main函数中执行了一个UIApplicationMain这个函数int UIApplicationMain(int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName);//argc、argv:直接传递给UIApplicationMain进行相关处理即可//principalClassNam原创 2017-07-24 16:23:30 · 306 阅读 · 0 评论 -
iOS UIWindow
什么是UIWindow?UIWindow是一种特殊的UIView(继承自UIView),通常在一个app中至少有一个UIWindowiOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow也就说,没有UIWin原创 2017-07-24 16:14:54 · 373 阅读 · 0 评论 -
iOS 应用程序启动原理(顺序)
// Copyright © 2017年 LayneCheung. All rights reserved.// 程序启动时执 main函数,在main函数当中有以下操作.#import <UIKit/UIKit.h>#import "AppDelegate.h"int main(int argc, char * argv[]) { @autoreleasepool {原创 2017-07-24 14:49:10 · 345 阅读 · 0 评论 -
iOS10 AppDelegate文件中代理方法的作用
iOS10 AppDelegate文件中代理方法的作用#import "AppDelegate.h"@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *原创 2017-07-21 14:20:18 · 486 阅读 · 0 评论 -
iOS UIApplication详解(单例、功能)
什么是UIApplication?UIApplication对象是应用程序的象征.每个应用程序都有自己的UIApplication对象,这个对象是系统自动帮我们创建的, 它是一个单例对象.一个iOS程序启动后创建的第一个对象就是UIApplication对象我们只能通过[UIApplication sharedApplication]获得这个单例对象,不能够手动去创建它.UIApplica原创 2017-07-24 14:27:13 · 382 阅读 · 0 评论 -
iOS textField弹出自定义键盘(日期时间、省市、国家)
弹出选择国家效果图弹出日期时间效果图弹出省市效果图1.选择国家(核心代码) 1.1自定义CountryTF继承自UITextField CountryTF.h//// CountryTF.h// LayneCheungDemo//// Created by llkj on 2017/7/28.// Copyright © 2017年 LayneCheung. All right原创 2017-07-31 14:44:55 · 1313 阅读 · 0 评论