cocoLG的专栏

https://github.com/gang544043963

iOS强制转换横竖屏和键盘方向控制

前言     在开发中,有时候我们回到这样一种需求:从一个竖屏界面跳转到下一个横屏界面,或者反之。如果是安卓的话,就很简单,安卓系统提供这样的API,直接操作即可。但是iOS就不好办了,在iOS3.0之前,系统还有一个接口用来设置应用屏幕方向setOrientation:,但是iOS3.0之后就被...

2017-03-13 20:30:32

阅读数:8239

评论数:4

IM软件中的语音录制与播放【iOS】

前言 自从微信推出语音聊天后,人们的通讯方式发生了巨大变化,硬是把智能手机变成了对讲机。之后也成为了各种实时通讯软件不可或缺的功能。前一阵子微信公众号中展开了一场“发送语音消息利弊”的“讨论”。本文将针对语音录制和播放的实现进行分解,也附上一个本人写的语音录制和播放的Demo,仅供学习。 LGAu...

2016-08-21 14:00:49

阅读数:5466

评论数:9

iOS自定义相册性能优化

相册浏览器/选择器/照相机Demo:LGPhotoBrowser 大多数项目中都会用到相册浏览和选择功能,如果需要使用到自定义相册浏览器,那么,性能优化将是一个很重要的课题。毕竟操作对象是图片这样相对较大写数据单位。今天就针自定义相册浏览选择器四个优化点进行剖析: 缩略图页面加载速度优化缩略图...

2015-10-22 09:39:05

阅读数:5288

评论数:17

iOS动画曲线详解(UIView Animation Curves)

前言iOS应用中比较性感的动画,一般都不是匀速的。通俗的描述有:先快后慢,先慢后快,弹簧式的,不规则运动的,等等。本文针对这几种情况进行分解,内容包括:...

2018-05-20 20:44:37

阅读数:448

评论数:0

iOS面试题-RunLoop

开篇 iOS面试中,runLoop,runtime,内存管理,性能优化等更底层更的问题越来越受面试官的青睐,这确实是考察一个程序员知识深度和自主钻研能力的基本手段。虽然大多数程序员在开发过程中,这些知识点用的并不多,但是掌握这些知识,会帮助你写出更优秀的代码,避免一些“莫名其妙”的坑。想成为一名...

2018-03-19 10:24:40

阅读数:347

评论数:0

ios10.3app内好评SKStoreReviewController以及其他方式好评

App Store评分方式1. 通过openURL直接打开App Store无版本限制,可以直接跳转到评论界面。在评分页面,可以评分和评价,评论更有价值。缺点是跳转到App Store,需要登录,用户的操作场景的转换,会造成部分用户使用的困扰,可能需要花费较长的等待时间,甚至加载失败等,造成评价数...

2017-09-26 16:33:57

阅读数:749

评论数:0

OC中__kindof的用法

简介 __kindof是苹果声明的一个新特性,它是和Nullability Annotations 以及 Generics 一起在xcode7中出现的。本文将对它进行详细介绍: 使用方法 假如我们声明了如下属性: @property (nonatomic, strong) NSArray *vi...

2017-03-08 20:05:55

阅读数:2231

评论数:0

ios组件化设计-路由

对组件化设计一直是久闻大名,项目中没用过,自己之前也没主动了解过。直到今天看了一篇文章,觉得很实用,能解决很多问题,再次记录。 原文链接:http://www.jianshu.com/p/76da56b3bd55 有一下介个有趣的问题,相信很多人都为之惆怅了很久: 1.3D-Touch功能或者点...

2017-03-02 16:36:27

阅读数:555

评论数:0

UITextView行数限制

搜了一下,网上的方法都有点问题。看看最新方法: #pragma mark - UITextViewDelegate - (void)textViewDidChange:(UITextView *)textView{ CGRect textViewFrame = textView.fr...

2016-12-22 11:34:46

阅读数:1685

评论数:0

AVAudioSession应用指南

官方API文档是这样对AVAudioSession描述的: audiosession负责调节你的app和ios系统里的音频行为.一旦加载了audiosession你可以获得一个audiosession的单例.你可以配置这个audiosession来控制你的app的音频行为.例如: 当你的ap...

2016-12-03 16:11:16

阅读数:4255

评论数:0

iOS录音错误:Deactivating an audio session that has running I/O

情景再现: 在开发过程中,发现执行以下代码的时候,xcode控制台输出了一个错误。 [[AVAudioSession sharedInstance] setActive:NO withFlags:AVAudioSessionSe...

2016-11-24 18:36:20

阅读数:6576

评论数:0

UIWebView注入js代码来改变其背景颜色和尺寸大小

前言 有时候我们需要设置UIWebView的背景颜色,发现用backgroundColor并不起作用。还会遇到网页显示比实际UIWebView的尺寸大的问题。下面就说说用注入JS代码的方法来解决这些问题。 设置UIWebView的背景颜色 在- (void)webViewDidFinishLoad...

2016-10-12 19:51:47

阅读数:1314

评论数:0

iOS10闪退解决

升级iOS10之后,在应用访问相册、相机、话筒、听筒的时候会发生崩溃。例如访问相机的时候xcode打印崩溃信息: “This app has crashed because it attempted to access privacy-sensitive data without a usage ...

2016-09-19 16:21:01

阅读数:4143

评论数:0

Xcode8问题以及解决办法汇总【更新中】

1.真机调试遇到“The application does not have a valid signature.”错误 这个错误我查啊查啊,都说是xcode的bug,只能clean项目,按“shift+command+k”即可clean。 2.注释快捷键“command+/”失效 这个...

2016-09-19 15:12:40

阅读数:1672

评论数:0

【iOS】UIWindow中文详解

1.window     每个iOS应用都会有至少一个window,这个window就是UIWindow的实例,有些应用会有多个window。window会有如下几个职责: 它包含了应用中的可见内容;它在视图和应用对象之间传递触摸事件中起很重要的作用;它和视图控制器配合完成方向转变。     在...

2016-09-18 19:38:45

阅读数:858

评论数:0

【iOS自动约束】使用Masonry导致内存持续增长问题分析

前言 看标题千万别误以为是Masonry自身原因导致内存问题,而是使用不当所致。 怎样用Masonry给视图添加约束? 通常情况下,我们会重写updateConstraints方法! 用一个tableView的自定义cell为例做个展示: 第一步,在初始化方法中加载子视图; 第二步,重写updat...

2016-09-05 17:26:39

阅读数:1833

评论数:0

【iOS自动约束】四个重要的系统方法

用到自动约束,就离不开一下四个方法: @interface UIView (UIConstraintBasedLayoutCoreMethods) - (void)updateConstraintsIfNeeded NS_AVAILABLE_IOS(6_0); // Updates the co...

2016-09-05 16:50:20

阅读数:5170

评论数:0

Masonry和UITableView-FDTemplateLayoutCell结合使用时遇过的坑

前言 纯代码自动布局,首选框架当然是Masonry,这是一个很赞的框架。 UITableView-FDTemplateLayoutCell也是一个很高端且很实用的框架。 那么,很多时候我们在同一个项目中需要同时使用着两个框架。其实这两个框架同时使用并没有什么特殊技巧,使用起来也很简单。不会用的童鞋...

2016-08-29 15:12:34

阅读数:3593

评论数:0

UITableView插入、删除和重载方法详解

UITableView可以同一时间进行批量插入、删除和重载,这些动作可以指定动画。下面是七个相关的操作方法: - (void)beginUpdates; - (void)endUpdates; - (void)insertSections:(NSIndexSet *)sections wit...

2016-08-23 17:02:16

阅读数:2880

评论数:0

iOS开发-数组的深拷贝浅拷贝注意点

今天写代码过程中遇到一个头疼的问题:可变数组经过深拷贝之后,变动新数组里面的元素,原来的数组也会跟着变。 做了一下实验,得到如下结论: 当数组元素是自定义类的时候,不管深浅拷贝,数组里面的元素地址是不变的。 DPNTextContent *content1 = [[DPNTextConten...

2016-07-20 16:07:43

阅读数:3310

评论数:0

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