![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oc
文章平均质量分 94
风铃的翼
用心做技术
展开
-
iOS ● 非常全的三方库、插件、大牛博客等等
iOS非常全的第三方库iOS ● 非常全的三方库、插件、大牛博客等等 github排名:https://github.com/trending,github搜索:https://github.com/search.此文章转自github:https://github.com/Tim9Liu9/TimLiu-iOSUI下拉刷新EGOTableViewPullRefre转载 2017-01-12 11:11:52 · 6994 阅读 · 0 评论 -
WKWebView与JS交互内存不释放问题探究
最近在做一个项目,里面用到了与H5的交互,准确的说是JS端要调用本地的代码,这里要说一下,wkWebView的JS交互与普通的UIWebView是不一样的,而且在JS端代码的编写也是有所不同的,希望大家能跟后台人员做良好的沟通。 废话不多说,直接上代码。。。。先说说wkWebView与JS交互的方法吧WKWebViewConfiguration *config = [[WKWebVie转载 2017-05-15 17:27:29 · 3193 阅读 · 0 评论 -
升级iOS10后,AVPlayer有时候播放延时和播放不了的问题
如果你的视频使用的是HLS(m3u8)协议的,是不会由于升级ios10出现这个播放问题的。如果不是基于HLS协议的,解决方法如下self.player = [AVPlayer playerWithPlayerItem:self.playerItem];// [self.player replaceCurrentItemWithPlayerItem:self.playerIt原创 2017-05-18 13:20:43 · 2909 阅读 · 0 评论 -
iOS音视频实现边下载边播放
iOS音视频实现边下载边播放近段时间制作视频播放社区的功能,期间查找了不少资料,做过很多尝试,现在来整理一下其中遇到的一些坑.由于考虑到AVPlayer对视频有更高自由度的控制,而且能够使用它自定义视频播放界面,iOS中所使用的视频播放控件为AVPlayer,而抛弃了高层次的MediaPlayer框架,现在想想挺庆幸当初使用了AVPlayer。AVPlayer的基本知识AVPl转载 2017-05-18 15:10:11 · 34610 阅读 · 0 评论 -
开发者所需要知道的 iOS 11 SDK 新特性
年纪大了过了能熬夜看 WWDC 的时代了,但是还是在小小宝的哭闹和妈妈大人换尿布的催促中起了个大早。于是算趁着“热乎”把 WWDC 2017 的 Keynote 看完了。和往年差不多,虽然 WWDC 是一个开发者会议,但是 Keynote 并不是专门针对我们开发者的,它还承担了公司状况说明,新品发布等功能。作为技术人员,可能接下来的 session 会更有意义。要用一句话来评价今年 Keynote转载 2017-06-16 14:49:02 · 397 阅读 · 0 评论 -
iOS问题-崩溃错误
崩溃错误:-[NSConcreteTextStorage KeyBoardshow:]: unrecognized selector sent to instance 0x134537ab0错误原因:通知用来监控键盘,二次调用的时候会导致崩溃。解决方法:当前控制器用完监控,要移除掉观察者。否则再别的控制器,使用键盘观察会被触发,会在类中搜索,没有该方法,会抛出错误。崩溃错误:A转载 2017-06-30 10:54:30 · 830 阅读 · 0 评论 -
iOS开发经验总结(一)
iOS开发经验总结(一)转载 2017-07-12 11:00:02 · 672 阅读 · 0 评论 -
iOS开发经验总结(二)
iOS开发经验总结(二)转载 2017-07-12 13:44:49 · 1030 阅读 · 0 评论 -
iOS tabbar点击动画效果实现
正常情况下,我们点击tabbar都只有一个变色效果,但有时候,如果我们想给它添加一个点击动画,该如何做呢?先上几个效果图:1、先放大,再缩小 2、Z轴旋转 3、Y轴位移 4、放大并保持 原理:利用UITabBarController实现,在t转载 2017-07-13 16:20:23 · 1444 阅读 · 0 评论 -
正则表达式前端使用手册
最近浏览看到一篇不错的正则表达式的使用手册,在这里给大家分享一下:链接地址:http://louiszhai.github.io/2016/06/13/regexp/#原创 2017-04-11 11:03:59 · 483 阅读 · 0 评论 -
RunLoop 官方编程手册翻译
原文这是一篇对Run Loop开发文档《Threading Program Guide:Run Loops》的翻译,来源于苹果开发文档。Run loops 是和线程相关的基础部分。一个run loop是一个用来调度工作和协调接受的事件的循环。一个run loop的目的是有任务的时候保持线程忙碌,没有任务的时候线程休眠。Runloop的管理并不是完全自动的,你必须编写线程代码在合适的时间转载 2017-04-10 10:04:52 · 444 阅读 · 0 评论 -
ios中怎么手动调label的行距
//手动调行距+(NSAttributedString *) customSpacing:(CGFloat)space andStr:(NSString *)text{ NSMutableParagraphStyle * paragraphStyle = [[NSMutableParagraphStyle alloc] init]; [paragr原创 2017-03-20 13:36:33 · 254 阅读 · 0 评论 -
iOS 怎么限制textView和textField的输入字数
//设置文本输入框的最大字数+ (void)limitTextViewLength:(UITextView *)textView maxLength:(NSInteger)maxLength { NSString *toBeString = textView.text; NSString *lang = [[textView textInputMode] primaryLa原创 2017-03-20 13:45:51 · 359 阅读 · 0 评论 -
iOS 中怎么设置label中的内容是靠最上面显示,,还是在中间显示
#import typedef enum{ VerticalAlignmentTop = 0, // default VerticalAlignmentMiddle, VerticalAlignmentBottom,} VerticalAlignment;@interface myUILabel : UILabel{@private原创 2017-03-20 14:09:53 · 5322 阅读 · 0 评论 -
自定义按钮图片和文字的位置
#pragma mark - 两种方法的优缺点/** - 第一种通过分类的方式设置按钮非常方便,只需要一行代码就足够了,不需要我们自己计算UIEngeInsetsMake,适用于纯代码创建的按钮。 如果是Xib创建的按钮就用不了。 - 第二种通过继承的方式重写layoutSubviews的方式设置按钮好处是既适用于纯代码创建的按钮,也适用于Xib创建的按钮,但是这种方法有一定的局转载 2017-03-20 14:20:30 · 1352 阅读 · 0 评论 -
设置textView的占位字符
JGTextView *textV = [[JGTextView alloc] initWithFrame:CGRectMake(10, 100, kDeviceWidth - 20, 100)]; textV.font = [UIFont systemFontOfSize:17]; textV.placeholder = @"总结:你看到了什么?你发现了什么?你需要提升的是什原创 2017-03-20 14:31:35 · 460 阅读 · 0 评论 -
UITableViewCell嵌套UIWebView
1 获取UIWebView高度- (void)webViewDidFinishLoad:(UIWebView *)webView{ // 如果要获取webView高度必须在网页加载完成之后获取 // 方法一 CGFloat height = [self.webView sizeThatFits:CGSizeZero].height; // 方法二转载 2017-04-10 09:28:39 · 274 阅读 · 0 评论 -
iOS中的SEl和IMP到底是什么
SEL : 类成员方法的指针,但不同于C语言中的函数指针,函数指针直接保存了方法的地址,但SEL只是方法编号。IMP:一个函数指针,保存了方法的地址IMP和SEL关系每一个继承于NSObject的类都能自动获得runtime的支持。在这样的一个类中,有一个isa指针,指向该类定义的数据结构体,这个结构体是由编译器编译时为类(需继承于NSObject)创建的.在这个结构体中有包括了指转载 2017-04-10 09:30:05 · 2738 阅读 · 0 评论 -
优雅的开发Swift和Objective C混编的Framework
为什么要写这样一篇文章,因为昨天和一个朋友讨论到Swift和Objective C如何混合开发Framework,中途发现了很多有意思的坑。用Swift封装OC的库是一件比较常见的事情,毕竟对于大多数公司来说,老的代码都是用OC写的,而且经过多次迭代,这些OC的代码已经被验证了是稳定的,用Swift重写代价太大。这就引入了一个需求:用Swift和OC来混编一个Framework。转载 2017-04-10 09:56:02 · 1177 阅读 · 0 评论 -
获取系统里面的所有字体
UIFont *font = [UIFont systemFontOfSize:[UIFont systemFontSize]]; NSLog(@"当前字体。。。 %@",font); NSMutableArray *familyNameArray = [[NSMutableArray alloc] init];原创 2017-06-26 10:17:07 · 2560 阅读 · 0 评论 -
如何统计iOS产品不同渠道的下载量?
一、前言在开发过程中,Android可能会打出来很多的包,用于标识不同的商店下载量。原来觉得苹果只有一个商店:AppStore,如何做出不同来源的统计呢?本篇文章就是告诉大家如何做不同渠道来源统计。二、正文先看一下苹果自家统计到的数据:这个是在没有对下载链接做任何处理的情况下在itunesconnect后台看到的数据。怎么看到这个页面呢?登录https://itunesco转载 2017-09-13 17:23:30 · 658 阅读 · 0 评论 -
关于iOS 11测试的时候屏幕周边出现黑框,APP不能铺满全屏的问题
在做iOS 11版本适配的时候,一运行APP是下图这样:没有占满全屏。遇到这种情况:如何处理如下面步骤:然后重新运行,运行结果如下图:铺满全屏原创 2017-09-21 13:08:42 · 8148 阅读 · 0 评论 -
iOS内存检测工具Analyze的使用
XCode的Analyze可以分析到项目哪里有内存泄露. 方法:xcode----product-----Analyze(快捷键:Shift + Cmd + B)iOS的分析工具可以发现编译中的warning,内存泄漏隐患,甚至还可以检查出logic上的问题;所以在自测阶段一定要解决Analyze发现的问题,可以避免出现严重的bug;常见问题1.内存泄漏隐患提示:Potential Leak原创 2017-10-23 17:46:58 · 1152 阅读 · 0 评论 -
iOS 自动化打包发布测试平台后邮件通知测试人员(在Mac使用Python脚本发送邮件)
在使用iOS 自动化打包成功之后,上传到发布平台之后,邮件通知测试人员,这样就不用在另外通知测试人员了。一切以自动化(偷懒)为目标的,嘿嘿。。。。 自动化打包脚本下载地址: https://github.com/fenglingdeyi/archiveshell 在上传到平台下面可以添加一下脚本语言发送邮件。以iOS 自动打包之后上传到发布平台后发送邮件为例: curl -F "file=@原创 2017-11-03 10:48:27 · 2958 阅读 · 0 评论 -
使用Xcode9一键打包上传到App Store或者fir和蒲公英
今天研究了一下Xcode一键打包上传的shell实现,实现自动化。实现自动化有以下好处:提交测试版本ipa给测试人员 配置好测试描述文件,然后Product -> Archive编译打包,选择Organizer,导出ad hoc 的 ipa 包。再上传到Fir等第三方平台上,然后通知测试同事进行测试。整个流程下来需要人工监守操作比较耗费时间。提交ipa包到App Store已供原创 2017-10-12 15:40:56 · 10233 阅读 · 1 评论 -
Xcode主工程建立多个子工程结合联编开发SDK
Xcode主工程建立多个子工程结合联编开发SDK标签:IOS苹果移动手机APP项目,给用户在手机里呈现的是一个独特的个体,对于初学开发者而言,感觉就是一个项目主工程而已,其实不以为然。其实我们在用Xcode开发项目的里面是可以同时并存多个工程的。实战中是可以通过存放在同一个工作空间来实现同一个Xcode存在多个工程,也就是有多个xcodeproj。前言:本篇博客主要还是是针对通过Xcode建立多个工转载 2017-12-28 14:59:46 · 908 阅读 · 0 评论 -
iOS项目——项目开发环境搭建
在开发项目之前,我们需要做一些准备工作,了解iOS扩展——Objective-C开发编程规范是进行开发的必备基础,学习iOS学习——Xcode9上传项目到GitHub是我们进行版本控制和代码管理的选择之一,明白iOS学习——iOS项目Project 和 Targets配置详解则更利于我们今天对完整项目开发环境的搭建,这些内容在在之前的博文中都已经有了一些总结和步骤说明,具体详情可以戳链接查看。转载 2018-01-25 09:44:19 · 639 阅读 · 0 评论 -
iOS 设置导航透明的两种方法
方法一在当前页面加入下面方法- (void)viewWillAppear:(BOOL)animated{ [superviewWillAppear:animated]; [self.navigationController.navigationBarsetBackgroundImage:[UIImagenew]forBarMetrics:UIBarMetri原创 2017-09-21 13:03:55 · 8848 阅读 · 1 评论 -
iOS开发:为你的应用兼容iPhone X
每年苹果爸爸都会在六月份的WWDC上发布有关下一代iOS的新特性和改动内容,开发者们有半年时间去准备和兼容最新版本的iPhone和操作系统。但是这一次为了在发布会前不泄露iPhone X的相关信息(实际上我们早就知道了=。=),苹果知道昨天才在官网上线了兼容全面屏的指导文档和视频。离iPhone X正式上市还有两个月不到的时间,我们需要为我们的app做哪些准备呢?屏幕我们在编码中使用的转载 2017-09-20 10:40:40 · 1826 阅读 · 0 评论 -
iPhone X 苹果官方人机交互指南
编者按:昨天凌晨刚更新了iPhone X 的人机交互指南,中午优设就邀请了@平行煎餅 翻译成中文版,最新鲜的设计干货,来优设准没错!iPhone X有一块大的、高分辨率、圆角的、无边框的屏幕,为用户提供了前所未有的沉浸式的、内容丰富的体验。屏幕尺寸iPhone X的竖屏模式,宽度与iPhone6、iPhone7、iPhone8的4.7寸显示屏宽度相同;iPhone X的高度比4.7转载 2017-09-15 13:02:57 · 1050 阅读 · 0 评论 -
App适配iOS 11
随着Xcode GM版本发布,适配iOS 11也就提上了日程,总的来说整个适配过程(不包含适配iPhone X)不是很麻烦。首先建议观看今年WWDC的一个视频 Updating Your App for iOS 11,视频讲解了iOS 11一些API的变化,对理解适配过程有帮助。navigation bar1、导航栏新增了一种大标题样式,默认设置是不开启,所以不需要修改。2、tit转载 2017-09-15 13:47:37 · 2536 阅读 · 1 评论 -
使用Xcode进行iOS设备无线调试
设备环境:Mac OSX 10.12.5、iOS11、Xcode9PS:这是WWDC2017的新功能,iOS11以上,Xcode9这是刚性要求。这个功能不好找,就记下来了手机连接上Xcode,打开Xcode菜单:Windows->Device and Simulators。找到连接上的设备,把Connect via network选项打勾。之后Xcode将会转一会圈圈,耐心等待一会转载 2017-09-15 14:11:25 · 683 阅读 · 0 评论 -
iOS 时间格式转化总结(七种)
#pragma mark - 将某个时间转化成 时间戳+(NSInteger)timeSwitchTimestamp:(NSString *)formatTime andFormatter:(NSString *)format{ NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatt原创 2017-09-11 11:35:47 · 1292 阅读 · 0 评论 -
OC与JS交互之WKWebView
一、WKWebView FrameworkWKWebView的14个类与3个协议:WKBackForwardList: 之前访问过的 web 页面的列表,可以通过后退和前进动作来访问到。WKBackForwardListItem: webview 中后退列表里的某一个网页。WKFrameInfo: 包含一个网页的布局信息。WKNavigation: 包含一个网页的加载进度信息。WKNavigatio原创 2017-09-15 15:50:41 · 8523 阅读 · 0 评论 -
XCode9的新变化
XCode9已经随着ios11的发布发布了,那么在这个XCode9版本中有哪些变化呢?1 折叠代码焦点在方法的实现体的方法名上,按comman键,则整个函数会被框住.用来标志这个方法的起点和终点此时单击,出现菜单在菜单里,有个Fold,可以用来折叠方法,这个折叠现在有个动画效果在其它上面点击常用的重构方式都已经集成在这个右键弹出菜单中了,可见,XCode9对于重构的转载 2017-09-25 10:41:23 · 600 阅读 · 0 评论 -
APP适配 iOS 11和iPhone X总结
1. 滚动条高度跳动、上下拉刷新问题: iOS 11中如果不实现-tableView: viewForFooterInSection: 和 -tableView: viewForHeaderInSection:,那么-tableView: heightForHeaderInSection:和- tableView: heightForFooterInSection:不会被调用。 这是原创 2017-09-25 12:28:24 · 765 阅读 · 0 评论 -
iOS客户端节日换肤方案探究
原文地址:http://www.cocoachina.com/ios/20180102/21717.html一、前言:Tip: 本来这篇文章在圣诞节就已经准备好了,但是由于种种原因一直没有写完,今天将它写出来,也算是2018年的第一篇文章了。你好,2018!过去圣诞节是各大APP浓妆艳抹展现自己衣服的节日,今年的圣诞节似乎冷清了许多,只看到了几个APP换肤,那我就从转载 2018-01-10 11:59:21 · 797 阅读 · 0 评论 -
UIWebView加载自签名Https网页
ATS设置按照惯例写一个UIWebView,用来加载网页:_webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];_webView.delegate = self;[self.view addSubview转载 2016-11-10 14:36:33 · 2991 阅读 · 1 评论 -
UIImageView添加圆角
最直接的方法就是使用如下属性设置:imgView.layer.cornerRadius = 10;// 这一行代码是很消耗性能的imgView.clipsToBounds = YES;**这是离屏渲染(off-screen-rendering),消耗性能的**给UIImage添加生成圆角图片的扩展API:这是on-screen-rendering- (UIImage *)i原创 2016-10-10 19:06:00 · 263 阅读 · 0 评论 -
实现微信浏览器内打开App Store链接
我们在使用第三方分享app下载连接的时候,直接使用iTunes链接在微信浏览器中是加载不出来的,点击链接是不行的,比如:itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=1106818480,这样的链接如果使用分享出去,是不可以的,但是QQ和微博是可以的。所以要对连接进行改一下格式就可以在微信、QQ、新原创 2016-10-04 09:20:33 · 3242 阅读 · 2 评论