自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Paddy的个人博客

I can so I do

  • 博客(57)
  • 资源 (4)
  • 问答 (2)
  • 收藏
  • 关注

原创 自定义UIAlertController

自定义UIAlertController,仿系统UIAlertController,继承自UIViewController

2017-10-17 15:49:29 1309

原创 WKWebView隐藏导航栏后顶部出现空白

WKWebView加载web页面,隐藏导航栏,全屏显示,发现顶部出现20px的空白。记录一下解决方法,并对iOS 11也做相应调整。

2017-09-28 11:45:51 7691

原创 解决UITableView下划线左右两边多出来的空白

解决UITableView下划线左右两边多出来的空白的方法

2017-04-06 16:14:25 1143

原创 cocos2d-objc的配置使用

在上一篇中,我说到在mac上配置cocos2d-x的配置,打开发现全是c++的开发语言环境,这对于一个习惯用xcode开发的我来说,显然是相当不方便的。怎么整?于是,在github上找到了cocos2d-objc,看名字就知道这是跟OC语言有关系,也的确是这样,它提供了OC的接口调用。下载路径为https://github.com/cocos2d/cocos2d-objc好的,问题来了,当

2016-08-24 12:00:17 2185 4

原创 Mac下搭建Cocos2d-x开发环境

今天搭建cocos2d-x开发环境,走了很多误区,写这篇博文,以便以后查阅。我是从github上面下载的cocos2d-x,下载完,安装,发现怎么都是失败,查阅网上很多说法,终于找到原因,是cocos2d-x文件下tools/cocos2d-console路径下面并没有bin文件,缺失很多。我以为是没有下载过程中丢包,又重新下载安装了一次,依然如此。于是果断抛弃从guthub上下载,进coco

2016-08-22 15:09:04 456

原创 UIPopoverPresentationController的使用

UIPopoverPresentationController是个什么?我理解中的UIPopoverPresentationController是个弹出的控件,与UIAlertController类似,但又不同。UIPopoverPresentationController是iOS8以后新增的,是UIViewController的属性。使用的的时候,需要创建的是UIViewController

2016-08-10 18:34:24 6211

原创 Mac终端自动补全及常用命令

记录一下终端的一些使用命令,跟自动补全的配置,主要怕以后忘记了。1.终端自动补全的配置打开终端,输入 : nano .inputrc在文件里面写上:set completion-ignore-case onset show-all-if-ambiguous onTAB: menu-completectrl + o ,回车,重启终端,自动补全按tap键就ok。

2016-08-03 17:10:12 34027 5

原创 UISearchBar背景色及边框修改

UISearchBar背景色修改以及边框黑线去除

2016-07-01 16:03:02 3579

原创 NSMutableParagraphStyle与NSParagraphStyle的使用

开发过程中,经常会遇到动态计算行高的问题, - (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(nullable NSDictionaryNSString *,id> *)attributes context:(nullableNSString

2016-03-15 14:54:45 18354

原创 php学习之基本语法

1、脚本php脚本以 结尾,如下:<?php// 此处是 PHP 代码?>PHP默认的文件扩展名为".php"。PHP语句以 ; 结尾。2、php注释<?php// 这是单行注释# 这也是单行注释/*这是多行注释块它横跨了多行*/?>3、php大小写敏感在php中,对所有用户自定义的函数、类、关键字(if、else等)都对大小写不敏感,即并不区分

2016-01-25 17:46:52 361

转载 git之创建标签

在Git中打标签非常简单,首先,切换到需要打标签的分支上:$ git branch* dev master$ git checkout masterSwitched to branch 'master'然后,敲命令git tag 就可以打一个新标签:$ git tag v1.0可以用命令git tag查看所有标签:$ git tagv1.0默认标签是打在最新提交

2016-01-06 16:27:39 362

转载 git之多人协作

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。要查看远程库的信息,用git remote:$ git remoteorigin或者,用git remote -v显示更详细的信息:$ git remote -vorigin git@github.com:michaelliao/learn

2016-01-06 16:20:01 371

转载 git之Feature分支

软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。现在,你终于接到了一个新任务:开发代号为Vulcan的新功能,该功能计划用于下一代星际飞船。于是准备开发:$ git checkout -b feat

2016-01-06 16:17:43 477

转载 git之Bug分支

软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交:$ git status# On branch dev#

2016-01-06 16:12:58 373

转载 git之分支管理策略

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。下面我们实战一下--no-ff方式的git merge:首先,仍然创建并切换dev分支:$ git checkout -b devSwitc

2016-01-06 16:09:52 284

转载 git之解决冲突

人生不如意之事十之八九,合并分支往往也不是一帆风顺的。准备新的feature1分支,继续我们的新分支开发:$ git checkout -b feature1Switched to a new branch 'feature1'修改readme.txt最后一行,改为:Creating a new branch is quickAND simple.在feature1分支上

2016-01-06 15:59:15 223

转载 git之创建与合并分支

在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能

2016-01-06 15:45:41 381

转载 git之从远程库克隆

上次我们讲了先有本地库,后有远程库的时候,如何关联远程库。现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。首先,登陆GitHub,创建一个新的仓库,名字叫gitskills:我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看到READM

2016-01-06 15:32:36 504

转载 git之添加远程库

现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:在Repository name填入learngit,其他保持默认设置,点

2016-01-06 15:27:59 314

转载 git之删除文件

在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交:$ git add test.txt$ git commit -m "add test.txt"[master 94cdc44] add test.txt 1 file changed, 1 insertion(+) create mode 100644 test.txt一般情况下,你

2016-01-06 15:21:08 330

转载 git之撤销修改

自然,你是不会犯错的。不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行:$ cat readme.txtGit is a distributed version control system.Git is free software distributed under the GPL.Git has a mutable index called stage.

2016-01-06 15:15:14 321

转载 git之管理修改

现在,假定你已经完全掌握了暂存区的概念。下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。为什么说Git管理的是修改,而不是文件呢?我们还是做实验。第一步,对

2016-01-06 15:13:42 265

转载 git之工作区和暂存区

Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。先来看名词解释。工作区(Working Directory)就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:版本库(Repository)工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫in

2016-01-06 15:05:52 218

转载 git之版本回退

现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下:Git is a distributed version control system.Git is free software distributed under the GPL.然后尝试提交:$ git add readme.txt$ git commit -m "appe

2016-01-06 14:55:17 208

转载 git之查看仓库状态

我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容:Git is a distributed version control system.Git is free software.现在,运行git status命令看看结果:$ git status# On branch master# Chang

2016-01-06 14:51:24 901

转载 git之创建版本库

什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:$ mkdir learngit$ cd learngit$ pwd/Users/m

2016-01-06 14:43:12 353

转载 Swift之正则表达式

正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。正则表达式的用处:判断给定的字符串是否符合某一种规则(专门用于操作字符串)- 电话号码,电子邮箱,URL...- 可以直接百度别人写好的正则- 别人真的写好了,而且测试过了,我们可以直接用

2015-12-18 13:45:26 1277

转载 Swift之!与?的区别

Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错:var stringValue : String //error: variable 'stringValue' used before being initialized//let hashVa

2015-12-15 18:45:24 293

原创 Swift之协议( protocol)

swift中定义协议同oc中类似,也是在类前定义就行@objcprotocol VisitorViewDelegate:NSObjectProtocol{ //点击注册按钮 optional func visitorViewDidRegisterBtnClick(visitView: VisitorView) //点击登录按钮 optional func visitorVi

2015-12-14 18:01:55 477

原创 Swift之互斥锁的使用

oc中的互斥锁:@synchronized(self) { //需要执行的代码块}swift中的互斥锁objc_sync_enter(self)//需要执行的代码块objc_sync_exit(self)至于其他多线程的API和以前的一样,只是少了perform这一类的API,苹果已经去掉了

2015-12-14 17:52:13 4625

原创 Swift之基本数据类型间的转换

Int转换Float或Double:let intVar : Int = 3let doubleVar : Double = Double(intVar)Int转换为String:let intVar : Int = 3let strVar : String = String(intVar)String转换为Int:let strVar : Stri

2015-12-10 14:52:50 539

原创 iOS 使用CIFilter生成二维码

iOS7之前,二维码的制作多使用第三方库,比如ZBarSDK等,iOS7之后,可以使用原生的CIFilter生成二维码。首先需要创建一个imageview来显示二维码: _qrCodeSizeImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0,150, 150)]; _qrCodeSizeImageV

2015-12-03 16:19:18 578

原创 Swift之switch使用

Swift的switch语句比C语言的要强大很多。 Swift中switch语句的case语句不会“掉入”下一个case,避免了c语言忘记写break语句产生的错误。 case可以匹配许多不同的模式,包括范围匹配,元组匹配或者抛给指定的类型。匹配值在一个case条件下可以绑定到临时常量或变量,可以在case的代码块中使用,复杂匹配条件下可以表示为每一个case的条件。var i = 0 s

2015-12-01 14:24:32 624

原创 Swift学习之UIButton

class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. // 自定义

2015-11-27 17:45:13 329

转载 AFNetworking详解

一、什么是AFN全称是AFNetworking,是对NSURLConnection的一层封装虽然运行效率没有ASI高,但是使用比ASI简单在iOS开发中,使用比较广泛AFN的github地址https://github.com/pokeb/AFNetworking/AFNetworking二、AFN结构NSURLConnectionAFU

2015-11-26 19:05:39 511

原创 cocoapods导入Nimbus库报错

错误类型:Too many arguments to function call, expected 0, have 3这几天做项目用到Nimbus,用cocoapods导入,出现15个错误,报的错为Too many arguments to function call, expected 0, have 3 在网上找了很多关于Nimbus出现这个错误的解决方案,资料并不是很多,具体解

2015-11-18 18:16:42 620

转载 iphone数据存储之 Core Data的使用(二)

一、基础概念深入1.NSManagedObjectContext被管理数据上下文就像便笺簿当从数据持久层获取数据时,相当于把这些临时的数据拷贝写在便笺簿上,然后就可以随心所欲的修改这些值。通过上下文,可以对数据记录NSManagedObject进行添加删除更改,记录更改后支持撤销和重做。除非你保存这些数据变化,否则持久层的东西是不会变化。通常我们将

2015-11-10 15:41:14 390

转载 iphone数据存储之 Core Data的使用(一)

一、概念1.Core Data 是数据持久化存储的最佳方式2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型在Mac OS X 10.5Leopard及以后的版本中,开发者也可以通过继承NSPersistentStore类以创建自定义的存储格式3.好处:能够合理管理内存,避免使用sql的麻烦,高效4.构成:(1

2015-11-10 15:37:38 379

原创 自定义UITableViewCell(registerNib: 与 registerClass: 的使用)

自定义UITableViewCell大致有两类方法:(1)使用nib 1、xib中指定cell的Class为自定义cell类型(注意不是设置File's Owner的class) 2、调用 tableView 的 registerNib:forCellReuseIdentifier:方法向数据源注册cell nib注册的代码为[_tableView registerNib:

2015-11-10 14:46:51 448

原创 UIActivityIndicatorView的使用说明

iOS页面加载一般都会给个提示让用户感觉到我们在努力的加载数据,iOS可以通过UIActivityIndicatorView实现类似的效果。UIActivityIndicatorView 提供轻型视图,会显示一个标准的旋转进度轮,只要添加到程序中,在合适的地方start和stop即可。

2015-11-03 15:44:41 602

64位 libjpeg.a

给大家仅供参考,网上找了很多都是过时的资源,version:80

2019-04-04

playerToolsView

自定义的一个音视频播放组件,实现自动布局,进度条控制,音量调节等功能

2016-06-15

clearMines

用swift写得一个简单的扫雷,实现基本功能,目前还不完善,仅供参考

2015-12-11

videoPlayByh264-Demo

iOS 实现H264裸流播放开发,将H264本地文件或者网络路径添加进来,即可播放。

2015-08-17

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

TA关注的人

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