自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (51)
  • 收藏
  • 关注

原创 iOS开发 runtime实现原理以及实际开发中的应用

自己写了一个小例子:有一些相关知识点和博客文章A: 首先现在控制器里面初始化一个对象,然后调用对象的方法:#import "ViewController.h"#import "Message.h"#import "NSObject+AssociatedObject.h"@interface ViewController ()@end@implementation ViewC

2016-07-21 11:49:26 1263

原创 第三方Charts绘制图表四种形式:饼状图,雷达图,柱状图,直线图

对于第三方框架Charts(Swift版本,在OC项目中需要添加桥接头文件),首先要解决在项目中集成的问题,集成步骤:一、下载Charts框架下载地址:https://github.com/danielgindi/Charts.解压后的文件夹里面的内容是这个样子的,如下图:解压后的文件夹里面的内容下载完成后,仔细看一下所需环境,很重要!如下图:所需的配置

2016-07-27 18:27:30 10603 6

转载 OC利用ijkplayer框架按照步骤集成实现电视直播

一. 下载ijkplayerijkplayer下载地址:https://github.com/Bilibili/ijkplayer下载完成后解压, 解压后文件夹内部目录如下图:ijkplayer-master文件夹内容.png二. 编译 ijkplayer说是编译 ijkplayer, 其实是编译 ffmpeg, 在这里我们已经下载好了ijkplayer, 所以 g

2016-07-27 10:42:51 2383 1

原创 Swift开发UITableView常用的一些细节知识点介绍

隐藏分割线、隐藏多余Cell //隐藏分割线 tableView.separatorStyle = UITableViewCellSeparatorStyle.None //隐藏多余的cell tableView.tableFooterView = UIView(frame: CGRectZero)分割线头部顶到底、分割线颜色 //启动、旋转、视图大小位置发

2016-07-26 12:37:33 1116

转载 iOS基础常用细节问题处理65条

1. 不可变数组  转变为可变数组 //声明实例变量的数组  必须记得实现//对于遍历数组找到对象后 如果还需要查找 记得先结束 再查找(return/break)NSArray * arr = @[@"人在囧途",@"煎饼侠",@"西游记",];   NSMutableArray *  arr = [NSMutableArray arrayWithArray:arr];

2016-07-26 12:19:17 1657

原创 NSAttributedString富文本简单介绍和常用方法浅析

NSAttributedString基本知识点介绍1、初始化方法- (instancetype)initWithString:(NSString *)str;- (instancetype)initWithString:(NSString *)str attributes:(nullable NSDictionary *)attrs;- (instancetype)initWith

2016-07-25 11:29:04 1134

原创 使用OC和Swift两种语言写一个发射烟花的小项目

OC与Swift两种实现方式基本上区别不大,主要是在一些对象或方法的调用方式不同OC代码样式:self.view.backgroundColor = [UIColor blackColor];        //加载颗粒状的火花图片    CAEmitterLayer *emitterLa = [CAEmitterLayer layer];    emitterLa.emi

2016-07-22 18:33:53 2066

原创 解决UIScrollView,UIImageView等控件不能响应touch事件的问题

关于UIScrollView,UIImageView等控件不能响应touch事件,主要涉及到事件响应者链的问题,如果在UIScrollView,UIImageView等控件添加了子View,这样事件响应将会被UIScrollView,UIImageView等控件终止,而且这些控件的userInteractionEnabled属性默认的是NO,所以想要解决使用触摸事件,我通过两种方法进行解决。方

2016-07-22 15:00:26 4457 3

原创 限制UITextField的输入字数(长度)最正确的方法

在开发中, 有些时候会碰到这样的需求: 希望输入框有最大字数限制. 比如, 用户昵称长度限制, 评论最大字数限制.所以通过相关测试和浏览文章,使用下面的方法可以基本解决问题.在viewDidLoad中注册通知.[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(textFiledEditCha

2016-07-20 16:17:49 4372

转载 仿滴滴抢单倒计时的Demo

滴滴里面有一个下单完成之后等待界面的倒计时转圈的视图...就是这个...原理:通过CAShapeLayer层添加到自己自定义的视图layer上...设置ShapeLayer的path...他的路劲绘制一般通过UIBezierPath配合设置...通过layer的StrokeEnd,StrokeStart设置path路径上的起点和终点...可以直接通过设置

2016-07-20 12:13:59 6334 1

原创 关于对数组和指针的测试与分析OC

前言:    这个笔试题想必很多小伙伴都很面熟把,差不多10个人有7个人不会做这道笔试题,或许有知道答案的,但是仅仅知道答案,心里还是一头雾水。如果你真的不会那就请认真看完本文学习一下吧!  错误想法:  有的人认为   NSLog(@"%d", *(&arrayName + 1 - 1));   加1减1不就是抵消了么,那肯定是访问数组首地址,那打印的值肯定是 10,

2016-07-20 11:42:59 563

转载 iOS开发的10个知识点

1.关于关键字volatile一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。就像大家更熟悉的const一样,volatile是一个类型修饰符。它是被设计用来修饰被不同线程访问和修改的变量。如果不加入volatile,基本上会导致这

2016-07-19 11:57:38 700

转载 iOS树状视图(折叠单元格)详细使用

RATreeView是一个第三方的iOS树视图(通俗的讲就是折叠单元格),它是对UITableView的封装,定义自己的委托和数据源的法,RATreeView是高度可定制的,并且有很多功能。很多朋友都说使用的不好,官方讲的也不够详细,所以我就给大家讲一下,怎么使用.首先先看下实现效果1.gif使用方法CocoaPods pod 'RATreeView',

2016-07-19 11:45:12 4870 4

原创 最新的App上架教程Object-C

准备开发者账号完工的项目上架步骤一、创建App ID二、创建证书请求文件 (CSR文件)三、创建发布证书 (CER)四、创建Provisioning Profiles配置文件 (PP文件)五、在App Store创建应用六、打包上架一、创建App ID1.打开苹果开发者官网,点击“Account”登录会员中心。2.填写信息

2016-07-18 12:29:50 2065 1

转载 iOS9关键字的简单使用

在iOS 9 苹果推出了很多关键字, 目的其实很明确, 主要就是提高开发人员的效率, 有益于程序员之间的沟通与交流, 在开发中代码更加规范!1. nullable 与 nonnullnullable : 表示可以为 nilnonnull : 表示不可以为 nil这两个关键字只能修饰对象, 不能修饰基本数据类型, 可以用在属性, 方法的参数, 方法的返回值使用, 在默认情况下, 不加

2016-07-18 12:22:15 514

转载 iOS之深入了解控制器View的加载

首先我们得知道,控制器view是通过懒加载的方式进行加载的,即用到的时候再加载。loadView方法当我们用到控制器view时,就会调用控制器view的get方法,在get方法内部,首先判断view是否已经创建,如果已存在,则直接返回存在的view,如果不存在,则调用控制器的loadView方法,在控制器没有被销毁的情况下,loadView也可能会被执行多次viewDidL

2016-07-14 11:56:23 867

转载 iOS开发支付集成之支付宝支付

项目中要用到支付功能,需要支付宝,微信,银联三大支付,所以打算总结一下,写两篇文章,方便以后的查阅, 大家在做的时候也能稍微参考下,用到的地方避免再次被坑。这是第二篇支付宝集成,第一篇银联支付在这里。本来要用那个ping++的神器,可以集成各种支付手段,异常的方便,但是考虑到安全性问题的话,支付的渠道还是不让第三方参与的好,不然会不安全,于是就苦逼地慢慢的一个一个集成了。。。。这里就代理支付宝的集

2016-07-13 10:45:41 1538

转载 iOS开发支付集成之微信支付

这一篇是《iOS开发之支付》这一部分的继支付宝支付集成,银联支付集成第三篇,微信支付。在集成的时候建议都要去下载最新版的SDK,因为我知道的前不久支付宝,银联都更新了一次,微信的不太清楚更新了没。在被支付宝、银联坑过之后,发现其实微信支付的集成并没有想象中的那么困难,像支付宝那样简单地调用个方法就行,重要的难的部分都是后台来做的。微信支付也是需要签名的,也跟支付宝一样,可以在客户端签名,也

2016-07-13 10:40:05 711

转载 iOS开发 支付之银联支付集成

iOS开发之银联支付集成最近在做支付这一块的东西,就记录下来以便以后参考和各位交流学习,这里是银联支付银联官网在这里,这里能下载SDK或者是看文档。文档嘛,对银联来说,还是不要看的太仔细的好,以前觉得支付宝跟微信支付就够恶心了,银联,更胜一筹啊~~,还好最新的版本写的简单了很多,看文档一直做下去基本上就没问题了。首先,SDK在这里下载银联手机控件支付里面包含需要的库文件

2016-07-13 10:37:53 2856

转载 iOS开发:创建真机调试证书步骤(还有一篇是真机测试步骤)(2015年)

首先打开苹果的开发者网站(https://developer.apple.com)(关于真机测试步骤的blog:http://blog.csdn.net/hbblzjy/article/details/51680282)点击网站上方的Member Center,会跳转到登录界面。2如图所示输入你的开发者账号和密码。输入完成后点击"Login"(Tip

2016-07-12 18:31:04 1392 2

转载 极光推送iOS SDK教程

iOS SDK 调试指南iOS 调试思维导图2确认证书请到“应用详情页面”确认证书可用性:3开发环境测试在对  JPush iOS 开发环境进行测试前,请确保 3 个统一:App 是开发环境打包(开发证书 Development)上传了开发证书并验证通过Portal 上的应用设置为开发环境发布环境测试在

2016-07-12 12:37:44 837

原创 日历显示,并且可选择日期,并显示选择过的日期详解

属性定义:@property(nonatomic,strong)UILabel *yearAndMonthLabel;//年月UILabel@property(nonatomic,strong)UICollectionView *collectionV;@property(nonatomic,assign)CGFloat itemWidthF;//item的宽@proper

2016-07-11 15:52:12 4252

原创 常使用的宏定义归类(新添加的一些)

自己新添加的一些可用常用定义://安全释放#define RELEASE_SAFELY(__Pointer) do{[__Pointer release],__Pointer = nil;} while(0)// 屏幕的物理高度#define ScreenHeight [UIScreen mainScreen].bounds.size.height// 屏幕的物理宽度

2016-07-08 11:52:30 2966

原创 一个App与另一个App之间的交互,添加了自己的一些理解

URL Scheme 是什么?iOS有个特性就是应用将其自身”绑定”到一个自定义 URL scheme 上,该 scheme用于从浏览器或其他应用中启动本应用。常见的分享到第三方之间的跳转都是基于Scheme的。通过对比网页链接来理解iOS 上的 URL Schemes,应该就容易多了。URL,我们都很清楚,http://www.apple.com就是个URL,我们也叫它链接或网址

2016-07-07 11:43:15 4115 1

原创 Swift基础之UITabBarController(这是在之前UITableView中直接添加的)

这些基础内容基本已经可以搭建项目框架,剩下的就是一些优化,细节和数据请求问题,慢慢更新....在AppDelegate中创建方法//创建方法执行UITabBarController    func createTabBar()    {        let tabBarContro = UITabBarController();               

2016-07-07 10:58:33 2356

转载 iOS开发经验相关知识

一、 iPhone Size手机型号屏幕尺寸iPhone 4 4s320 * 480iPhone 5 5s320 * 568iPhone 6 6s375 * 667iphone 6 plus 6s plus414 * 736二、 给navigation Bar 设置 title 颜色UI

2016-07-06 12:07:17 798

原创 Swift基础之UITableView(之前写的知识点都是最新的2.2版本样式,欢迎大家参考,可以相互交流)

//这里只是列举了经常使用的UITableView的属性和方法,其他的都可以类似使用,注意用法即可    //设置全局变量UITableView    var myTableView = UITableView();    //设置数据源数组    var dataArray = NSArray();        //系统生成的viewDidLoad()方法    o

2016-07-06 11:49:20 1012

原创 Swift基础之UIImageView(都是2.2版本)

//设置全局变量,将下面的替换即可    //var myImgView = UIImageView();    //系统生成的viewDidLoad()方法    override func viewDidLoad() {        super.viewDidLoad()        // Do any additional setup after loading th

2016-07-05 16:16:38 1935

转载 alloc、init你弄懂50%了吗?

前言这是一篇我记录对alloc、init分析思考的笔记。如果读者想看懂我的第二个思考,可能需要您至少了解内存的分段分页管理,如果您对其一点都不知道,可以先看这篇软文简单了解一下。另外很重要的一点是,请先思考。思考1.对象为什么要alloc,init又是干嘛的?很多人都知道,初始化一个对象应该这么写:MyClass* myObj = [MyClass alloc] init];那

2016-07-05 11:45:59 434

原创 关于iOS常用的26中公共方法,可copy的代码

1. 获取磁盘总空间大小//磁盘总空间+ (CGFloat)diskOfAllSizeMBytes{ CGFloat size = 0.0; NSError *error; NSDictionary *dic = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirector

2016-07-05 10:43:24 712

原创 Swift基础之UITextField

//设置全局变量,将下面的替换即可    //var myTextField = UITextField();    //系统生成的viewDidLoad()方法    override func viewDidLoad() {        super.viewDidLoad()        // Do any additional setup after loading

2016-07-05 10:11:57 531

原创 Swift基础之UIButton

//设置全局变量,将下面的替换即可    //var myButton = UIButton();    //系统生成的viewDidLoad()方法    override func viewDidLoad() {        super.viewDidLoad()        // Do any additional setup after loading the vi

2016-07-04 15:38:47 508

原创 Swift的基础之关于“!”和“?”的使用介绍

swift编程,不外乎是定义属性或者函数(方法),访问属性或者调用函数,类型转换,?和!在这几个过程中,都有一展身手的时候,而且,每次要考虑使用的时候,它们俩都会一起出现在我们的大脑中,用还是不用,如果用,要用谁?1、定义属性“?”表示可选类型(Optionals),“!”表示隐式可选类型(全名:implicitly unwrapped optionals),其实还是可选类型。可选

2016-07-04 14:20:49 1330

原创 Swift的基础之UILabel控件

对于UILabel的相关内容,其他控件可以相似创建//设置全局变量,将下面的替换即可    var myLabel = UILabel();    //系统生成的viewDidLoad()方法    override func viewDidLoad() {        super.viewDidLoad()        // Do any additional set

2016-07-04 11:58:00 1073

原创 iOS关于蓝牙连接的简单介绍与使用

下面是两台iPhone6连接同一台蓝牙设备的结果:**成功连接**** peripheral: with UUID: 50084F69-BA5A-3

2016-07-01 18:07:27 12447 1

原创 推荐大家在GitHub 上值得关注学习的 iOS 开源项目

GitHub上有很多不错的iOS开源项目,和大家特别推荐以下几个项目:1. ReactiveCocoaGitHub链接:ReactiveCocoa/ReactiveCocoaGitHub自家的函数式响应式编程范式的Objective-C实现,绝对会改变你对iOS编程的认知2. MantleGitHub链接:Mantle/MantleGitHub自家的产物,轻量级建模的首选,

2016-07-01 11:21:09 851

转载 iOSAPP启动效果复杂动画之抽丝剥茧

一、前言随着开发者的增多和时间的累积,AppStore已经有非常多的应用了,每年都有很多新的APP产生。但是我们手机上留存的应用有限,所以如何吸引用户,成为产品设计的一项重要内容。其中炫酷的动画效果是重要内容之一,我们会发现很多好的应用上面都有许多很炫的效果。可能一提到炫酷的动画,很多人都很头疼,因为动画并不是那么好做,实现一个好的动画需要时间、耐心和好的思路。下面我们就以一个有趣的动画(如下

2016-07-01 11:09:12 2287 2

转载 关于App启动加载广告页面思路

需求很多app(如淘宝、美团等)在启动图加载完毕后,还会显示几秒的广告,一般都有个跳过按钮可以跳过这个广告,有的app在点击广告页之后还会进入一个广告页面,点击返回进入首页。虽然说这个广告页面对用户体验来说并不是很好,但是如果真的有这个需求,我们还是要想办法去开发,至少这比内嵌广告要友善的多。今天我们就来开发一个广告页面,效果如下。效果图.gif思路1.广告页加载思路。广告页的

2016-07-01 10:51:23 5398 5

Swift基础之DelegateDemo

Swift基础之DelegateDemo

2016-08-08

iOS导航头像缩放Demo

iOS导航头像缩放Demo,在很多App中,经常存在一种需求就是,界面上下滚动时用户的头像也会跟着滚动,而用户头像在视图向上滚动一定范围时停留并在导航栏的位置

2016-08-08

Swift基础之PickerView选择器Demo

Swift基础之PickerView选择器Demo

2016-08-02

第三方Charts绘制图表四种形式Demo

第三方Charts绘制图表四种形式Demo

2016-07-27

ijkplayer框架电视直播Demo

ijkplayer框架电视直播Demo

2016-07-27

富文本AttributedStringDemo

富文本AttributedStringDemo

2016-07-25

MVVM、图片选择封装(UICollectionView)、富文本封装(NSAttributedString)、引导动画(Animation)四个知识点Demo

MVVM、图片选择封装(UICollectionView)、富文本封装(NSAttributedString)、引导动画(Animation)四个知识点Demo

2016-07-25

烟花Demo两种语言OC和Swift

烟花OC和SwiftDemo

2016-07-24

仿滴滴抢单倒计时Demo

仿滴滴抢单倒计时Demo

2016-07-20

利用第三方实现折叠树Demo

利用第三方实现折叠树Demo

2016-07-19

日历显示,并且可选日期MyDemo

当前日期前后都可显示的日历,选择日子后,可以存储,切换月份可以继续显示之前选择过的日子

2016-07-11

常用宏定义#define

常用宏定义#define

2016-07-08

复杂动画详细讲解Demo

复杂动画详细讲解Demo

2016-07-01

App启动加载广告页面Demo

App启动加载广告页面Demo

2016-07-01

VTMagic类似于网易新闻切换标题的第三方Demo

VTMagic类似于网易新闻切换标题的第三方Demo

2016-06-30

超好用的JRDB对FMDB的封装Demo

一个对FMDB进行类Hibernate封装的iOS库,支持Objective-C 和 Swift。

2016-06-23

自己封装的下载管理Demo

本篇文章是有demo的,但是demo中笔者将下载资源去掉了。如果大家想要测试效果,只能自寻找下载资源链接

2016-06-23

iOS一行代码进行RSA、DES 、AES、MD5加密、解密Demo

iOS一行代码进行RSA、DES 、AES、MD5加密、解密Demo

2016-06-22

MVVMMDemo测试

MVVMM模式解决了ViewModel的臃肿并方便单元测试

2016-06-21

iOSRadarChart雷达效果

简单地雷达效果数据展示图,有对应的相关博客可以进行参考

2016-06-20

YYKit之YYText例子

YYKit之YYText例子,富文本使用

2017-07-04

Swift基础之仿资讯类实现频道的长按拖拽

Swift基础之仿资讯类实现频道的长按拖拽

2017-04-06

简单语音样式Demo

简单语音样式Demo

2017-03-22

好用多样的滑动视图Demo

好用多样的滑动视图Demo

2017-03-20

夜间模式DKNightVersion使用Demo

夜间模式DKNightVersion使用Demo

2017-03-13

好用的多样的搜索界面样式OCDemo

好用的多样的搜索界面样式OCDemo

2016-11-08

字数不一的多标签Demo

字数不一的多标签Demo

2016-10-27

Swift基础之FMDB的使用Demo

Swift基础之FMDB的使用Demo

2016-10-21

自己封装的提示框(警告框)Demo

自己封装的提示框警告框Demo

2016-10-19

Swift基础之绘制折线Demo

Swift基础之绘制折线Demo

2016-10-12

Swift基础之动画开发

Swift基础之动画开发

2016-10-08

Swift单选横竖样式Demo

Swift单选横竖样式Demo

2016-09-30

Swift波纹样式Demo

Swift波纹样式Demo

2016-09-15

Swift镂空图片Demo

Swift镂空图片Demo

2016-09-06

Swift之闭包ClosureDemo

Swift之闭包ClosureDemo

2016-09-02

积分抽奖Demo

积分抽奖Demo,可以人为控制指针的落点区域,从而控制不同奖项的概率

2016-09-01

可点击的两种轮转方式Demo

可点击的两种轮转方式Demo

2016-08-25

Swift和OC代码的相互使用

Swift和OC代码的相互使用

2016-08-23

OC下拉变大上拉缩小和Swift下拉变大Demo

OC下拉变大上拉缩小和Swift下拉变大Demo

2016-08-18

仿京东商城选择地区样式Demo

仿京东商城选择地区样式Demo

2016-08-15

空空如也

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

TA关注的人

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