iOS技术
文章平均质量分 63
文明的博客
iOS开发者。
展开
-
iOS轮播图广告图
iOS界面上经常见到无限轮播图,n张图片轮流播放。 下面给出一个解决方案和demo(https://github.com/zhengwenming/WMBannerView)。 demo可设定轮播时间,可轮播本地和网络图片(可设置默认的placeholder),支持手动和自动无限循环轮播。 思路是这样的,我们做一个WMBannerView继承UIView,给出初始化方法, -(insta原创 2016-01-06 19:57:21 · 3653 阅读 · 0 评论 -
iOS上传视频到服务器
iOS上传视频到服务器 这里介绍用AFN上传本地拍摄的视频到服务端 //视频转换为MP4 //转码操作... _hud.mode = MBProgressHUDModeIndeterminate; _hud.labelText = @"转码中..."; AVURLAsset *avAsset = [AVURLAsset URLAssetWithU原创 2016-01-17 23:05:38 · 23129 阅读 · 16 评论 -
iOS状态栏操作之获取WiFi信号强度,网络类型,运营商,电池电量,系统时间等
iOS状态栏操作之获取WiFi信号强度,WiFi名字和IP,网络类型,运营商,电池电量,系统时间等此篇文章讲述iOS中的状态栏iOS开发中对状态栏的操作比较少,因为状态栏是系统级别的View,是受苹果保护的,不可以随便更改,不可以随便遮挡住。如果违反这些苹果的规范,那么APP将有可能上不了架。笔者就曾写过一个APP,因状态栏被提示框遮挡而杯具(被拒)了。一、操作状态栏的样式iOS开发中最常见的对状态原创 2016-01-07 13:32:10 · 28191 阅读 · 0 评论 -
Xcode自定义.h和.m中文件的个性化注释(公司、版本、作者、版权声明等)
Xcode中自定义每个.h和.m中上部默认显示的信息(公司,版本,作者,版权声明等)每个iOS开发者新建class文件的时候都可以看到文件最上面声明的一些基本信息。而这些信息都是默认的,我们现在就要来自定义这些信息。添加一些自己想要添加的,比如Github链接等等。1.下面为默认的信息//// VideoCell.m// WMVideoPlayer//// Created by zhe原创 2016-01-17 17:48:29 · 8255 阅读 · 0 评论 -
功能强大的悬浮拖曳视图
拖曳视图,大部分的项目中都会用到,QQ视频、微信视频、斗鱼TV、虎牙直播等APP都具有这样的需求。本人做项目期间产品也有这个悬浮视图的需求,于是乎上网找了一些demo,都是touch事件里面稍微处理一下位置,效果达到了,但是没有高度封装,没有提供强大的API,不利于后续的拓展。所以本人自己封装了一个开源库WMDragView,广告词为:WMDragView致力于让任意View都可以自由悬浮拖曳。首先原创 2017-08-19 22:27:10 · 4118 阅读 · 0 评论 -
MJExtension的用法优化
MJExtension的基本用法和高级用法大家都熟透在心了,很多文章介绍MJExtension怎么用,介绍MJExtension的高级API,泛滥了哦!一发不可收拾!但是本人找了好多文章,没有谈及MJExtension的优化的。MJ老师也在github上MJExtension的demo里做了用法引导,大家都用的很happy!原创 2017-08-26 23:17:12 · 6980 阅读 · 1 评论 -
关于load和initialize,《深入剖析load和initialize方法》
关于load和initialize,《深入剖析load和initialize方法》在Objective-C中,NSObject是根类,而NSObject.h的头文件中前两个方法就是load和initialize两个类方法,本篇文章就对这两个方法进行详细、深入的剖析。 就像Application有生命周期回调方法一样,在Objective-C的类被加载和初始化的时候,也可以收到方法回调,可以在适当的原创 2017-09-05 01:52:47 · 3505 阅读 · 0 评论 -
朋友圈评论回复的两种实现方式
关于微信朋友圈的实现思路有很多种,各有不同。我这里用两种方式实现,这两种方式的demo都可以在我的github下载:https://github.com/zhengwenming/WeChat,目前已经有1030个star,我也是受宠若惊了,所以只能不负众望,继续更新。cell嵌套UITableView的方式,姑且命名为方式1一个UITableView+headerView的方式,命名为方式2原创 2017-09-25 00:00:27 · 17167 阅读 · 0 评论 -
iOS11返回按钮和导航栏右按钮的完美适配
iOS11更新后,用Xcode9跑一下自己的项目,发现返回按钮不灵敏了,点击10次只有3-4次点中。这是因为iOS11系统在导航栏里面的布局和控件都变化了,导致图片按钮(UIBarButtonItem中仅放图片的item的简称)的很小,几乎点不到,文字按钮(UIBarButtonItem中仅放文字的item简称)还可以点到。我试图用runtime去获取系统的返回item的子视图去重新布局,结果都是私原创 2017-09-25 01:21:42 · 20535 阅读 · 1 评论 -
iOS开发零碎知识点
记录一些常用和不常用的iOS知识点,防止遗忘丢失。(来源为收集自己项目中用到的或者整理看到博客中的知识点),如有错误,欢迎大家批评指正;如有好的知识点,也欢迎大家联系我,添加上去。谢谢!欢迎大家关注文明的iOS开发公众号: 方式1、搜索:“iOS开发by文明” 方式2、扫描下方二维码 一、调用代码使APP进入后台,达到点击Home键的效果。(私有API) [[UIAp...原创 2016-08-11 10:37:32 · 24509 阅读 · 3 评论 -
Xcode8新特性-Debug Memory Graph
虽然更新Xcode 8之后各种bug,层出不穷,但是还是有新的亮点随着xcode 8一起出来的。这里介绍的是和我们调试(debug)息息相关的一个新功能 —-Debug Memory Graph调试内存图下面的图详细的介绍了怎么调出来调试内存图这个调试内存图有什么实际的作用呢?举个经典的例子: 比如我们项目中因为各种原因导致的内存泄漏,原因可能是 1、NSTimer的使用不当 2、Block原创 2016-10-14 16:47:23 · 14897 阅读 · 1 评论 -
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 · 13096 阅读 · 2 评论 -
iOS中用UIWebView的loadHTMLString后图片和文字失调解决方法
iOS中用UIWebView的loadHTMLString后图片和文字失调,图片过大,超过屏幕,文字太小;或者图片太小,文字太大,总之就是不协调。我们的需求是让图片的大小跟着屏幕的变化而变化,就是动态的去适应屏幕;那么文字的字体就是我们自己可以控制,可大可小。要想达到这样的效果,我们要在用loadHTMLString加载字符串之前对它进行处理。怎么处理呢?什么原理呢?处理HTMLString的方法:原创 2016-01-10 20:42:14 · 12899 阅读 · 7 评论 -
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 · 4521 阅读 · 4 评论 -
iOS上传语音到服务器
iOS上传语音到服务器。 这里介绍用AFN上传语音文件到服务端。 如果不是NSData就要想办法把语音文件转化为NSData,然后才能上传服务器。首先我们拿到语音文件对应的NSData对象 NSData *voiceData = [message valueForKey:@"wavAudioData"]; //kHostURL为开发者公司的APP对应的主域名,比如http://xxx.y原创 2016-01-17 22:44:35 · 5589 阅读 · 1 评论 -
iOS获取视频的第一帧图片thumbnailImage
获取视频的第一帧图片- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaTyp原创 2016-01-24 18:20:23 · 10620 阅读 · 0 评论 -
UICollectionView的基础用法
UICollectionView的基础用法UICollectionView类似UITableView,我们对UITableView很熟悉,可以类比tableView学习。类比而已,肯定有不同之处了。UICollectionView继承UIScrollView,有两个代理方法和一个UICollectionViewDelegateFlowLayout,今天不讲UICollectionViewDelega原创 2016-01-17 21:45:46 · 3229 阅读 · 0 评论 -
iOS打开本地和网络上的word、ppt、excel等文件
iOS打开本地和网络上的word、ppt、excel、text等文件 iOS开发过程中可能需要预览一些文件,这些文件的格式可能有word、ppt、excel等文件格式。那么系统提供两个类去预览这些文件,这两个类分别为QLPreviewController和UIDocumentInteractionController。一、先看QLPreviewController怎么用。 我们要用QLPrevi原创 2016-01-06 19:24:13 · 20984 阅读 · 3 评论 -
iOS倒计时,显示剩余天、时、分、秒
iOS倒计时的实现,显示剩余天、时、分、秒做项目中经常会遇到秒杀、抢商品啊等等。那么这个十分秒的倒数是如何代码实现的呢!Demo地址:https://github.com/zhengwenming/countDown 通常后台会给我们一个时间戳活着截至日期(deadLine)。那么无论是时间戳还是一个具体的日期时间点,我们的处理逻辑都是这样的。统一处理成NSDate对象,那么就起名叫做endDat原创 2016-01-07 18:09:22 · 6704 阅读 · 1 评论 -
Runtime获取类属性列表和方法列表
Runtime获取类的属性列表和方法列表 Runtime很强大,他使得OC中没有真正意义上的私有属性和私有方法,我们可以利用OC的运行时拿到一个类的任何方法和任何属性,然后动态的去调用方法,objc_megsend(),甚至可以在运行时动态的为一个类去添加属性和方法,此篇博客要学习的是两个知识点:获取对象的所有属性 获取对象的所有方法为了方便,我们可以在项目中为NSObject添加一个cat原创 2016-10-12 10:56:05 · 9214 阅读 · 0 评论 -
斗鱼直播相关iOS视频by文明
版权声明:本文为博主原创文章,未经博主允许不得转载。 文章开头先奉上Demo地址: https://github.com/zhengwenming/CopySource.git 送佛送到西,木有Demo就是耍流氓!!! 视频分为两部分一、这部分是去年2016年录制的斗鱼直播视频,已经在各大iOS技术群里疯传,也未得到本人的授权,本着技术交流的态度,就开放给大家学习使用,放到百度云盘里原创 2017-08-19 11:50:43 · 4109 阅读 · 0 评论 -
iOS中左右滑动切换,滑动标签页导航的设计思路
iOS中左右滑动切换,滑动标签页导航的设计思路iOS开发中经常(几乎每个APP都含有这样的页面吧,几乎!UI设计师也都是这样抄来抄去…..)demo见Github:https://github.com/zhengwenming/SliderTab估计很多人都会说,直接用第三方就可以了,很多人封装过,很好用。而且这样的页面用第三方2分钟搞定,省时省力。 笔者也曾用过第三方,但是屡屡出原创 2016-01-17 21:10:56 · 17383 阅读 · 9 评论 -
iOS over-the-air installation分发内部测试版本(浏览器安装ipa)
Xcode发布测试版本,直接通过Safari在线安装ipa在iOS开发中,开发人员无数次的打包archives得到ipa文件,以供测试人员测试,或者外包公司发给客户看效果。虽然可以通过iTunes连接手机进行安装,或者上传至第三方在线安装,比如蒲公英发布测试程序。但是让他们自己安装很多时候还是比较麻烦的,大部分非开发人员不懂怎么去操作,大部分场景是这样的:有需求安装ipa的人拿着iPhone去...原创 2019-01-04 01:58:06 · 5578 阅读 · 0 评论