自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 iOS开发零碎知识点

记录一些常用和不常用的iOS知识点,防止遗忘丢失。(来源为收集自己项目中用到的或者整理看到博客中的知识点),如有错误,欢迎大家批评指正;如有好的知识点,也欢迎大家联系我,添加上去。谢谢!欢迎大家关注文明的iOS开发公众号: 方式1、搜索:“iOS开发by文明” 方式2、扫描下方二维码 一、调用代码使APP进入后台,达到点击Home键的效果。(私有API) [[UIAp...

2016-08-11 10:37:32 24333 3

原创 iOS中左右滑动切换,滑动标签页导航的设计思路

iOS中左右滑动切换,滑动标签页导航的设计思路iOS开发中经常(几乎每个APP都含有这样的页面吧,几乎!UI设计师也都是这样抄来抄去…..)demo见Github:https://github.com/zhengwenming/SliderTab估计很多人都会说,直接用第三方就可以了,很多人封装过,很好用。而且这样的页面用第三方2分钟搞定,省时省力。 笔者也曾用过第三方,但是屡屡出

2016-01-17 21:10:56 17187 9

原创 iOS中用UIWebView的loadHTMLString后图片和文字失调解决方法

iOS中用UIWebView的loadHTMLString后图片和文字失调,图片过大,超过屏幕,文字太小;或者图片太小,文字太大,总之就是不协调。我们的需求是让图片的大小跟着屏幕的变化而变化,就是动态的去适应屏幕;那么文字的字体就是我们自己可以控制,可大可小。要想达到这样的效果,我们要在用loadHTMLString加载字符串之前对它进行处理。怎么处理呢?什么原理呢?处理HTMLString的方法:

2016-01-10 20:42:14 12842 7

原创 UITableView的折叠收缩和QQ好友分组效果

可折叠展开的tableView,QQ好友分组列表demo下载地址https://github.com/zhengwenming/ExpandTableView 原理分析:这个可以折叠的table,我们点击的是table的section,每个section下面都对应一个数组,点击section,就展开sction然后展示数组数据。每次点击section都要刷新当前点击的这个section,不用rel

2016-01-08 15:54:05 12968 2

原创 FFmpeg常用基本命令行

本文收集记录了笔者使用过的FFmpeg命令,亲测可用,并不是简单的copy别人的FFmpeg大全,下面的命令大部分都是本人测试成功过的,大家可以放心使用。音视频技术是程序员日常生活中经常用到的,比如转码需求,同事下载的avi视频,电脑上没有播放器可以播放此格式的视频文件,那你就可以帮他把avi转成mp4格式,你两个就可以愉快的观看了;截取视频需求,录制视频后,可...

2019-03-09 23:35:23 69795 5

原创 iOS over-the-air installation分发内部测试版本(浏览器安装ipa)

Xcode发布测试版本,直接通过Safari在线安装ipa在iOS开发中,开发人员无数次的打包archives得到ipa文件,以供测试人员测试,或者外包公司发给客户看效果。虽然可以通过iTunes连接手机进行安装,或者上传至第三方在线安装,比如蒲公英发布测试程序。但是让他们自己安装很多时候还是比较麻烦的,大部分非开发人员不懂怎么去操作,大部分场景是这样的:有需求安装ipa的人拿着iPhone去...

2019-01-04 01:58:06 5449

原创 编译任意版本FFmpeg

FFmpeg功能强大音视频处理框架,特点:开源、跨平台,底层用c语言实现,几乎没有什么视频格式是他不能播放的。        大公司做音视频开发的人员几乎都会用到它,它的主要作用是编解码,至于显示要用到SDL,iOS端显示视频帧是用openGLES,这方面的资料一般都比较陈旧,而且资料比较少,门槛高,导致人才断层。FFmpeg官网:http://ffmpeg.org/download.html。 ...

2018-06-25 22:39:36 8474

原创 iOS11返回按钮和导航栏右按钮的完美适配

iOS11更新后,用Xcode9跑一下自己的项目,发现返回按钮不灵敏了,点击10次只有3-4次点中。这是因为iOS11系统在导航栏里面的布局和控件都变化了,导致图片按钮(UIBarButtonItem中仅放图片的item的简称)的很小,几乎点不到,文字按钮(UIBarButtonItem中仅放文字的item简称)还可以点到。我试图用runtime去获取系统的返回item的子视图去重新布局,结果都是私

2017-09-25 01:21:42 20457 1

原创 朋友圈评论回复的两种实现方式

关于微信朋友圈的实现思路有很多种,各有不同。我这里用两种方式实现,这两种方式的demo都可以在我的github下载:https://github.com/zhengwenming/WeChat,目前已经有1030个star,我也是受宠若惊了,所以只能不负众望,继续更新。cell嵌套UITableView的方式,姑且命名为方式1一个UITableView+headerView的方式,命名为方式2

2017-09-25 00:00:27 17027

原创 关于load和initialize,《深入剖析load和initialize方法》

关于load和initialize,《深入剖析load和initialize方法》在Objective-C中,NSObject是根类,而NSObject.h的头文件中前两个方法就是load和initialize两个类方法,本篇文章就对这两个方法进行详细、深入的剖析。 就像Application有生命周期回调方法一样,在Objective-C的类被加载和初始化的时候,也可以收到方法回调,可以在适当的

2017-09-05 01:52:47 3450

原创 MJExtension的用法优化

MJExtension的基本用法和高级用法大家都熟透在心了,很多文章介绍MJExtension怎么用,介绍MJExtension的高级API,泛滥了哦!一发不可收拾!但是本人找了好多文章,没有谈及MJExtension的优化的。MJ老师也在github上MJExtension的demo里做了用法引导,大家都用的很happy!

2017-08-26 23:17:12 6889 1

原创 功能强大的悬浮拖曳视图

拖曳视图,大部分的项目中都会用到,QQ视频、微信视频、斗鱼TV、虎牙直播等APP都具有这样的需求。本人做项目期间产品也有这个悬浮视图的需求,于是乎上网找了一些demo,都是touch事件里面稍微处理一下位置,效果达到了,但是没有高度封装,没有提供强大的API,不利于后续的拓展。所以本人自己封装了一个开源库WMDragView,广告词为:WMDragView致力于让任意View都可以自由悬浮拖曳。首先

2017-08-19 22:27:10 4059

原创 斗鱼直播相关iOS视频by文明

版权声明:本文为博主原创文章,未经博主允许不得转载。 文章开头先奉上Demo地址: https://github.com/zhengwenming/CopySource.git 送佛送到西,木有Demo就是耍流氓!!! 视频分为两部分一、这部分是去年2016年录制的斗鱼直播视频,已经在各大iOS技术群里疯传,也未得到本人的授权,本着技术交流的态度,就开放给大家学习使用,放到百度云盘里

2017-08-19 11:50:43 4050

原创 Xcode8新特性-Debug Memory Graph

虽然更新Xcode 8之后各种bug,层出不穷,但是还是有新的亮点随着xcode 8一起出来的。这里介绍的是和我们调试(debug)息息相关的一个新功能 —-Debug Memory Graph调试内存图下面的图详细的介绍了怎么调出来调试内存图这个调试内存图有什么实际的作用呢?举个经典的例子: 比如我们项目中因为各种原因导致的内存泄漏,原因可能是 1、NSTimer的使用不当 2、Block

2016-10-14 16:47:23 14807 1

原创 Runtime获取类属性列表和方法列表

Runtime获取类的属性列表和方法列表 Runtime很强大,他使得OC中没有真正意义上的私有属性和私有方法,我们可以利用OC的运行时拿到一个类的任何方法和任何属性,然后动态的去调用方法,objc_megsend(),甚至可以在运行时动态的为一个类去添加属性和方法,此篇博客要学习的是两个知识点:获取对象的所有属性 获取对象的所有方法为了方便,我们可以在项目中为NSObject添加一个cat

2016-10-12 10:56:05 9127

原创 Github如何上传gif图片

Github如何上传gif图片我们开源了工程到Github,但是想上传一张gif图,让别人一眼就可以看到项目效果。这时候要上传一个gif(可以用licecap软件制作),那么步骤很简单,如下: 1.把制作好的gif图片拉进工程的一个目录(点击copy)。2.打开终端 cd 到你的工程文件夹3.用git命令上传这个gif图片到Github (具体做法见http://blog.csdn.net/we

2016-02-02 17:33:57 11542 1

原创 swift数组中添加不同类型元素

Swift数组的类型是Array,这里的SomeType是某种数组能够存放的类型。你也可以把数组类型简写为SomeType[]。尽管这两种形式功能上是一样的,我们更偏向于使用简写形式. 可以用一个数组字面量来初始化一个数组,简单地把一个或多个值放在一起就可以了。数组字面量的写法是一行用逗号隔开的值,并在行的两端用一对方括号包起来: [value 1, value 2, value 3]

2016-01-31 01:39:07 8537

原创 iOS获取视频的第一帧图片thumbnailImage

获取视频的第一帧图片- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaTyp

2016-01-24 18:20:23 10520

原创 iOS上传视频到服务器

iOS上传视频到服务器 这里介绍用AFN上传本地拍摄的视频到服务端 //视频转换为MP4 //转码操作... _hud.mode = MBProgressHUDModeIndeterminate; _hud.labelText = @"转码中..."; AVURLAsset *avAsset = [AVURLAsset URLAssetWithU

2016-01-17 23:05:38 22987 16

原创 iOS上传语音到服务器

iOS上传语音到服务器。 这里介绍用AFN上传语音文件到服务端。 如果不是NSData就要想办法把语音文件转化为NSData,然后才能上传服务器。首先我们拿到语音文件对应的NSData对象 NSData *voiceData = [message valueForKey:@"wavAudioData"]; //kHostURL为开发者公司的APP对应的主域名,比如http://xxx.y

2016-01-17 22:44:35 5523 1

原创 iOS上传图片到服务器

iOS上传图片或者头像到服务器。 这里介绍用AFN上传图片的例子,并给出注意事项。UIImage * image = [message valueForKey:@"originalImage"]; NSString *image_string=nil; if ([[UIDevice currentDevice].systemVersion floatValue]>=7.0) {

2016-01-17 22:22:38 4465 4

原创 UICollectionView的基础用法

UICollectionView的基础用法UICollectionView类似UITableView,我们对UITableView很熟悉,可以类比tableView学习。类比而已,肯定有不同之处了。UICollectionView继承UIScrollView,有两个代理方法和一个UICollectionViewDelegateFlowLayout,今天不讲UICollectionViewDelega

2016-01-17 21:45:46 3165

原创 iOS9https设置info.plist

iOS9https设置info.plistXcode 7.0也就是iOS9.0中开发要求App内访问的网络必须使用HTTPS协议。那么我们公司没用采用https怎么办?如果发现网络请求失败,Xcode后台报错信息为: The resource could not be loaded because the App Transport Security policy requires the use

2016-01-17 20:02:50 17263

原创 Xcode自定义.h和.m中文件的个性化注释(公司、版本、作者、版权声明等)

Xcode中自定义每个.h和.m中上部默认显示的信息(公司,版本,作者,版权声明等)每个iOS开发者新建class文件的时候都可以看到文件最上面声明的一些基本信息。而这些信息都是默认的,我们现在就要来自定义这些信息。添加一些自己想要添加的,比如Github链接等等。1.下面为默认的信息//// VideoCell.m// WMVideoPlayer//// Created by zhe

2016-01-17 17:48:29 8171

原创 iOS倒计时,显示剩余天、时、分、秒

iOS倒计时的实现,显示剩余天、时、分、秒做项目中经常会遇到秒杀、抢商品啊等等。那么这个十分秒的倒数是如何代码实现的呢!Demo地址:https://github.com/zhengwenming/countDown 通常后台会给我们一个时间戳活着截至日期(deadLine)。那么无论是时间戳还是一个具体的日期时间点,我们的处理逻辑都是这样的。统一处理成NSDate对象,那么就起名叫做endDat

2016-01-07 18:09:22 6506 1

原创 iOS状态栏操作之获取WiFi信号强度,网络类型,运营商,电池电量,系统时间等

iOS状态栏操作之获取WiFi信号强度,WiFi名字和IP,网络类型,运营商,电池电量,系统时间等此篇文章讲述iOS中的状态栏iOS开发中对状态栏的操作比较少,因为状态栏是系统级别的View,是受苹果保护的,不可以随便更改,不可以随便遮挡住。如果违反这些苹果的规范,那么APP将有可能上不了架。笔者就曾写过一个APP,因状态栏被提示框遮挡而杯具(被拒)了。一、操作状态栏的样式iOS开发中最常见的对状态

2016-01-07 13:32:10 27896

原创 iOS轮播图广告图

iOS界面上经常见到无限轮播图,n张图片轮流播放。 下面给出一个解决方案和demo(https://github.com/zhengwenming/WMBannerView)。 demo可设定轮播时间,可轮播本地和网络图片(可设置默认的placeholder),支持手动和自动无限循环轮播。 思路是这样的,我们做一个WMBannerView继承UIView,给出初始化方法, -(insta

2016-01-06 19:57:21 3587

原创 iOS打开本地和网络上的word、ppt、excel等文件

iOS打开本地和网络上的word、ppt、excel、text等文件 iOS开发过程中可能需要预览一些文件,这些文件的格式可能有word、ppt、excel等文件格式。那么系统提供两个类去预览这些文件,这两个类分别为QLPreviewController和UIDocumentInteractionController。一、先看QLPreviewController怎么用。 我们要用QLPrevi

2016-01-06 19:24:13 20759 3

原创 iOS如何上传代码到Github

iOS如何上传代码到Github 很多iOS开发者想开源自己的代码或者demo,开源到Github是个不错的选择,那么如何上传我们的代码到Github,令所有人可以下载使用呢?这里我们的目的很明确,就是上传我们本地电脑里面的一份代码到Github,所以我们不讲git的初级和高级用法。第一步、申请Github账号。https://github.com/ ,如果已经有Github账号,那么直接进入

2016-01-06 17:29:59 6353

空空如也

空空如也

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

TA关注的人

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