
iOS
文章平均质量分 55
qq_22157341
听说下雨天音乐和代码更配哦
展开
-
自定义密码输入框ZCPasswordTextField
ZCPasswordTextField平时开发常用的几种密码输入框样式,如果有需要可以自行修改或者再次封装处理,如果发现有问题,请issue,谢谢.源码地址安装方式直接使用,git clone之后,把相关文件资源拉入到自己的项目中使用方式到达指定长度后触发UITextFieldDelegate代理事件停止接收键盘输入 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)ran原创 2021-03-09 22:02:32 · 316 阅读 · 0 评论 -
iOS横屏竖屏设置
公司App里面有个需求,即所有界面都是竖屏,且不允许横屏切换,唯独有一个播放视频的界面允许横屏,大家都知道视频播放适配最大的播放屏幕那样是最好的。从网上多方查找资料,总结如下:最终,根据此需求处理如下: 首先,确保App本身应该允许转屏切换: 我的App里面UITabBarController是根视图控制器,所以首先创建一个UITabBarController的子类,并设定允许转屏:原创 2016-05-10 17:49:50 · 4535 阅读 · 0 评论 -
证书管理
查看原图刚接触iOS开发的人难免会对苹果的各种证书、配置文件等不甚了解,可能你按照网上的教程一步一步的成功申请了真机调试,但是还是对其中的缘由一知半解。这篇文章就对Certificate、Provisioning Profile等做个总结。 1.概念介绍如果你拥有一个开发者账户的话,在iOS Dev Center打开Certificates, Indentifiers & Profil原创 2018-01-04 19:26:43 · 523 阅读 · 0 评论 -
App版本检查跳转更新
版本检查从自己服务器获取最新版本号从自己服务器上获取没什么好说的,自家的约定好就行。从苹果服务器获取最新版本号获取iTunes上APP的版本号用 POST 方式发送请求https://itunes.apple.com/lookup?id=414478124(微信的id) 在浏览器上测试会下载一个txt文本,文本里是返回的json数据,解析后是{ "resultCount":1, "原创 2018-01-04 16:35:39 · 1272 阅读 · 0 评论 -
iPhone X适配
一、屏幕尺寸1、规格:iPhone X 的屏幕宽度同 iPhone 6、iPhone 6s、iPhone 7 和 iPhone 8 的 4.7 英寸屏幕宽度相同,即 375pt。屏幕垂直高度增加了 145pt,这意味着增加了 20% 的可视空间。竖屏规格:1125px × 2436px (375pt × 812pt @3x)横屏规格:2436px × 1125px (812pt × 375原创 2018-01-02 15:51:48 · 968 阅读 · 0 评论 -
UITextView frame计算不准确
UITextView在上下左右分别有一个8px的padding方案1需要将UITextView.contentSize.width减去16像素(左右的padding 2 x 8px)。同时返回的高度中再加上16像素(上下的padding),这样得到的才是UITextView真正适应内容的高度。方案2##width 是textView的widthCGSize trueFrame = [textVi原创 2017-12-25 18:41:16 · 337 阅读 · 0 评论 -
UIButton 的图文混排
逻辑思路: button设置图片和文字后后再设置titleEdgeInsets属性和 imageEdgeInsets属性实现button的上图下文,上文下图,左图右文,右图左文的重新排列(自由设置图文间距)UIEdgInsets官方解释: Edge inset values are applied to a rectangle to shrink or expand the area repr原创 2016-07-07 18:41:48 · 1006 阅读 · 3 评论 -
iOS SDK API
1.NSArray https://www.cnblogs.com/liuxiaokun/p/5544812.html [lastArray addObjectsFromArray:newArray]; lastArray = [lastArray arrayByAddingObjectsFromArray:newArray].copy; 这两原创 2017-12-01 14:46:48 · 209 阅读 · 0 评论 -
Magic Record 使用记录
1.查询 YES:升序 + (NSArray ) MR_findAllSortedBy:(NSString )sortTerm ascending:(BOOL)ascending原创 2017-03-10 20:39:25 · 526 阅读 · 0 评论 -
Markdown和扩展Markdown简洁的语法
TableView 小技巧 (一)本博客只当是一个便捷笔记本,记录下平时学习中的积累,仅供参考。: cell选中时一闪效果- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ [tableView deselectRowAtIndexPath:indexPa原创 2016-04-18 20:59:45 · 759 阅读 · 0 评论 -
UINavigation修改
一、无导航条的情况:系统默认状态栏的字体颜色为黑色,即UIStatusBarStyle=UIStatusBarStyleDefault,同时背景颜色和self.view.backgroundColor颜色一致,如下图所示:14F49066-52A9-4892-AF66-D2F9ED0D9001.png假如我想让状态栏颜色设置成红色,字体仍为黑色,可以在需要显示的那一页进行如下设置:(最好写在v原创 2017-04-21 15:50:55 · 556 阅读 · 0 评论 -
MWPhotoBrowser 属性详解 和代理解释
原文:http://blog.youkuaiyun.com/hsf_study/article/details/51783989--------0.MWPhoto简单属性解释----------------MWPhoto *photo = [MWPhoto photoWithURL:[NSURL URLWithString:@"http://farm4.static.flickr.com/3629/3339转载 2017-03-28 14:52:49 · 2054 阅读 · 3 评论 -
iOS AVAudioSession、AudioSession Category选择和声音通道听筒、扬声器切换
原文选择一个Categorypragma mark – Values for the category property –/* Use this category for background sounds such as rain, car engine noise, etc. Mixes with other music. */AVF_EXPORTNSString *const A转载 2017-03-09 18:07:26 · 8021 阅读 · 0 评论 -
AppDelegate代理方法
方法说明didFinishLaunchingWithOptions: App加载完成applicationWillResignActive: App将要注销激活applicationDidEnterBackground: App已经进入后台applicationWillEnterForeground: App将要返回前台applicationDidBecomeActive: Ap原创 2017-03-09 17:08:44 · 452 阅读 · 0 评论 -
iOS中图片的解压缩
对于大多数 iOS 应用来说,图片往往是最占用手机内存的资源之一,同时也是不可或缺的组成部分。将一张图片从磁盘中加载出来,并最终显示到屏幕上,中间其实经过了一系列复杂的处理过程,其中就包括了对图片的解压缩。图片加载的工作流概括来说,从磁盘中加载一张图片,并将它显示到屏幕上,中间的主要工作流如下:假设我们使用 +imageWithContentsOfFile: 方法从磁盘中加载一张图片,这个时候的图转载 2017-03-08 15:16:12 · 1077 阅读 · 0 评论 -
CollectionView多选
写在前面collectionView的多选是个老生常谈的问题了,但是当首次实现的时候还是要注意点什么的。实现多选这俩属性控制这些items是否可以选择,如果是,是否可以同时选择多个。// These properties control whether items can be selected, and if so, whether multiple items can原创 2018-01-28 00:58:43 · 1427 阅读 · 0 评论 -
WkwebView调节字体大小获取高度
一般新闻阅读类APP都有一个功能是调节字体大小,而这类新闻界面一般是由webVIew来实现的,实际上就是怎么实时调节webView的字体大小。写在前面前后实验过大概有三四种方法,各有各自的优缺点,记录如下,不确保普遍适用,欢迎交流指正。调节字体大小<style type=\"text/css\">原创 2018-02-07 12:06:45 · 2616 阅读 · 5 评论 -
分段控制器
写在前面项目中经常用到分段控制器,网上找的几个用着不是太顺手,细读了两份源码,其实也不难,二来各个项目特色不一样,觉得造个轮子还是有些必要的。沙场点兵所谓的分段控制器无非是顶部选择器跟下面的视图控制器联动。 那么怎么实现这种联动呢。 顶部的选择器可以用collectionView实现,有一下几点好处选中某一个通过代理方法可以方便的执行一些操作把当前选中的item居中动画...原创 2018-03-24 00:52:20 · 834 阅读 · 0 评论 -
iOS开发规范
iOS代码编写规范Git的使用iOS进阶开发目的了利于项目维护以及规范开发,促进成员之间Code Review的效率,故提出以下开发规范,如有更好的建议,欢迎提出 (qq:2807425310@qq.com)。命名规范代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。正确的英文拼写和语法可以让阅读者易于理解,避免歧义。*注意:即使纯拼音命名方式也要避免采...原创 2019-04-27 16:01:07 · 235 阅读 · 0 评论 -
APNs推送
APNs对于苹果的 iOS 系统来说,它有自建的官方推送服务 APNS(Apple Push Notification service)。当我们的手机处于开机状态并且联网(有些平台称为用户上线)时,iOS 系统内置的一个推送服务便会一直处于运行的状态,并与 APNS 服务器保持长连接,随时准备接收APNS服务器的推送消息。DeviceToken世界上的 iOS 设备那么多,APNS 服务器怎...原创 2019-03-28 19:44:26 · 379 阅读 · 0 评论 -
SFSafariViewController
这里写自定义目录标题OverViewAPI文档简单介绍,一个和系统浏览器safari在外观上基本相同,并且共享cookie的视图控制器一些初始化方法几个属性几个可选代理引用其他类使用方法OverView2015年, Apple 在 SFSafariViewController 中导入了许多振奋人心的新改变。许多使用者想要在他们的App 中使用完整的Safari 浏览器功能,但是又不希望强制使用...原创 2018-11-21 11:11:42 · 2145 阅读 · 0 评论 -
iOS10以后 openURL方法跳转到设置界面
问题在iOS10之前,跳转到系统设置界面的某个指定界面的方式如下://打开定位服务界面NSURL*url=[NSURL URLWithString:@"prefs:root=Privacy&path=LOCATION"];if ([[UIApplication sharedApplication] canOpenURL:url]) { [[UIApplication...原创 2018-07-11 16:52:40 · 2354 阅读 · 0 评论 -
相机拍照界面取景框
需求项目中需要拍名片,为了尽可能多的去除其他信息,且宽高比更贴近名片真实比例,需要自定义一个取景框,只拍摄取景框内的画面。实现这个个性化需求比较强,在系统的UIImagePickController基础上修改方案被pass掉,只能通过自己实现拍照功能。 https://github.com/LemonChao/ApertureCamera ...原创 2018-07-11 16:37:51 · 6078 阅读 · 0 评论 -
UniversalLink通用链接
什么是Universal LinkiOS9 新引入的一个功能,是通过传统HTTP链接来启动App的技术,可以使用相同的网址打开网站和App。通过唯一的网址,就可以链接到App中具体的视图,不需要特殊的scheme。如果用户没有安装App则链接到对应的普通网页。无缝连接Web-App ,备忘录-App,信息-App之间的跳转。 在iOS 9以前,我们从外部启动App都是通过URL Sch...原创 2018-07-04 17:08:33 · 1063 阅读 · 0 评论 -
视图的运行时交互模型
每当用户与您的用户界面进行交互时,或者您自己的代码以编程方式更改某些内容时,都会在UIKit内部发生一系列复杂的事件来处理该交互。在该顺序的特定时间点,UIKit会向您的视图类发出呼叫,并让他们有机会代表您的应用程序做出响应。理解这些标注点对于理解视图适合系统的位置非常重要。图1-7显示了以用户触摸屏幕开始并以图形系统更新屏幕内容为响应结束的事件基本顺序。任何程序启动的操作也会发生相同的事件序列。...原创 2018-06-28 17:49:44 · 704 阅读 · 0 评论 -
iOS的iPhone屏幕尺寸、分辨率、PPI和使用123倍图
手机型号 屏幕尺寸 屏幕密度 开发尺寸 像素尺寸 倍图 5/5S/5C 4.0英寸 326ppi 320*568 pt 640*1136 px @2X 6/6S/7/8 4.7英寸 326ppi 375*667 pt 750*1334 px @2X 6+/6S+/7+/8+ 5.5英寸 401p...原创 2018-06-28 11:08:45 · 1592 阅读 · 0 评论 -
presentViewController四种模式
//UIModalTransitionStyleCoverVertical //垂直向上替换, default//UIModalTransitionStyleFlipHorizontal //旋转//UIModalTransitionStyleCrossDissolve 溶解//UIModalTransitionStylePartialCurl //向上部分卷曲picker.modalTr...原创 2018-06-29 19:10:26 · 2417 阅读 · 0 评论 -
drawRect:调用周期
一、重绘机制iOS的绘图操作是在UIView类的drawRect方法中完成的,所以如果我们要想在一个UIView中绘图,需要写一个扩展UIView 的类,并重写drawRect方法,在这里进行绘图操作,程序会自动调用此方法进行绘图。 重绘操作仍然在drawRect方法中完成,但是苹果不建议直接调用drawRect方法,当然如果你强直直接调用此方法,当然是没有效果的。苹果要求我们调用UIVi...原创 2018-06-08 19:06:51 · 993 阅读 · 0 评论 -
系统原生拍照,录像按钮
写在前面个人觉得苹果的拍照按钮设计,以及交互特别美观,于是就打造一个,自定义相机界面的时候能用到概述自己实现的话,两种途径,继承自UIControl 或者 UIButton,白色外环直接绘图就行,内环再加个layer,因为要做动画Talk is cheap , this’s my codetypedef NS_ENUM(NSUInteger, THCaptureBu...原创 2018-06-22 17:45:40 · 421 阅读 · 0 评论 -
AutoLayout中的Content Hugging 和 Content Compression Resistance优先级问题
https://blog.youkuaiyun.com/yongyinmg/article/details/39526207https://www.jianshu.com/p/e38157d7b828Content Hugging:阻止自己变大的优先级系数 适用于当父视图足够子视图显示时,哪个控件优先被拉伸Content Compression Resistance:阻止自己变小的优先级系数 适用于当父视图原创 2018-04-27 17:02:45 · 204 阅读 · 0 评论 -
一些NSArray,NSDictionary,NSSet相关的算法知识
写在前面iOS编程当中的几个集合类:NSArray,NSDictionary,NSSet以及对应的Mutable版本,应该所有人都用过。只是简单使用的话,相信没人会用错,但要做到高效(时间复杂度)精确(业务准确性),还需要了解其中所隐藏的算法知识。在项目当中使用集合类几乎是不可避免的,集合类的使用场景其实可以进行抽象的归类。大多数时候我们需要将若干个对象(object)暂时保存起来,以备后续的...原创 2018-05-04 15:16:37 · 238 阅读 · 0 评论 -
AFURLSessionManager 设置requestSerializer请求头
应用场景做文件下载,需要在头部添加登陆信息用于后台鉴定权限。跟AFHTTPSessionManager设置请求头有些不一样,如下:(google一下就找到了,结果百度了半天,垃圾百度)AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionCo...原创 2018-05-04 13:18:36 · 4837 阅读 · 0 评论 -
沙盒目录功能区分
沙盒目录功能区分原创 2018-05-03 11:41:38 · 182 阅读 · 0 评论 -
MJRefresh
FooterMJRefreshFooterMJRefreshBackFooterMJRefreshBackStateFooterMJRefreshBackNormalFooter普通footer,有上拉箭头,上拉超出一段距离,松开后触发MJRefreshBackGifFooterMJRefreshAutoNormalFooter普通footer,...原创 2018-04-12 11:02:41 · 446 阅读 · 0 评论 -
这个单例足够单
单例模式的作用是用来解决一个应用中某个类只有唯一一个对象的问题。单例类在iOS开发中是非常重要的,在系统提供个类中,诸如:UIApplication类、NSUserDefaults类、NSNotificationCenter类、NSBundle类都是单例类。1、单例类的使用单例类在iOS的应用开发中非常常见,有一些对象必须保证在整个应用中只有一个,当在不同的类中需要使用单例类对象时,能够保证获取的原创 2017-02-15 15:43:37 · 402 阅读 · 0 评论 -
使用运行时机制向Category中添加属性
简明扼要 前言了解OC的都应该知道,在一般情况下,我们是不能向Category中添加属性的,只能添加方法,但有些情况向,我们确实需要向Category中添加属性,而且很多系统的API也有一些在Category添加属性的情况,例如我们属性的UITableView的section和row属性,就是定义在一个名为NSIndexPath的分类里的,如下 那这到底是怎么实现的呢?iOS运行时机制简介iO转载 2017-02-13 12:02:19 · 733 阅读 · 0 评论 -
iOS开发--一步步教你彻底学会『iOS应用间相互跳转』
这篇文章通过一步步指导,教你彻底学会『iOS应用间相互跳转』问题。文末有Github的学习Demo。1. 应用间相互跳转简介在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景。这就需要我们掌握iOS应用程序之间的相互跳转知识。下面来看看我们在开发过程中遇到的应用场景。2. 应用间相互跳转应用场景使用第三方用户登录,跳转到需授权的App。如QQ登录,微信登录等。需要用转载 2016-10-27 10:14:05 · 399 阅读 · 0 评论 -
面试准备
音频、视频处理开源框架TAAE发布 快速打造iOS音频应用 http://www.youkuaiyun.com/article/2013-03-20/2814571-opensource-framework-taae-releases-for-iosCore Audio简介: http://www.jianshu.com/p/40e6c9a16add广恩支付博客:http://blog.163.com/zax_原创 2016-08-10 17:27:58 · 239 阅读 · 0 评论 -
控件Frame计算(一)
单行文本 sizeWithAttributes: 如果文本内容没有换行, 因为是单行文本, 长度就会无限长CGSize contentSize = [textString sizeWithAttributes:@{NSFontAttributeName:authorLabelFont}];多行文本 boundingRectWithSize:options:context: 几个参数: si原创 2016-04-19 12:44:27 · 431 阅读 · 0 评论 -
ShareSDK 问题汇总
访问站点在微博认证失败 这个提示是说回调地址没有设置,或者说您设置的回调地址与微博开放平台设置的回调地址不同; RedirectUrl=”http://www.sharesdk.cn”原创 2016-06-14 18:47:21 · 360 阅读 · 0 评论