- 博客(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
iOS导航头像缩放Demo
2016-08-08
MVVM、图片选择封装(UICollectionView)、富文本封装(NSAttributedString)、引导动画(Animation)四个知识点Demo
2016-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人