ios开发

iOS学习笔记之远程推送、静默推送与自定义消息

远程推送时 , 应用可能处于下列三种状态: (1) . 应用开启时 , 应用在前台 (2) . 应用开启时 , 应用在后台 (3) . 应用未启动(应用被杀死) 从苹果APNS服务器远程推送时: 1 . 如果应用处于 (1)...

iOS如何利用一句话完成转场动画

前言 本文介绍SS_AnimationTransition(本地下载)的使用方法,利用此库,可以很方便的实现各种常见的转场动画. (关于转场动画的具体原理稍后请看另一篇简书) . SS_AnimationTransition具有很好的...

iOS画出精美的图表方法示例

前言 iOS端画图表的库很多,今天给大家介绍一款很有名的库 - Charts 借助Charts,我们可以画出很精美的折线图、柱状图、饼状图、K线、雷达、混合图表等等 github地址(本地下载) 1.集成Char...

ios 服务器端推送证书生成的方法

1.打开mac的钥匙串,生成证书请求文件 2.登录Apple dev账号,编辑对应APP ID 点击创建证书,使用步骤1生成的证书请求创建推送证书,开发证书和推送证书可以用同一个证书请求生成证书...

iOS高仿微信文章悬浮球功能

前言 微信在最新版本6.6.7,新加了一个文章悬浮球功能。当你正在阅读文章的时候,突然有好友发来了紧急消息,你需要立即回复。又或者你刚好路过小吃店,需要临时打开微信支付,...

通过一行代码搞定UITextField的输入格式限制

ZASTextFieldFormat开发背景 在开发的过程中,每次写到UITextField,就不由得心里不爽,因为要考虑到各种输入限制,实现代理、通知等一些麻烦繁琐的东西,就心中不爽,所以才写了这个...

iOS判断是否越狱设备方法示例

前言 苹果是非常看重产品的安全性的,所以给用户设计了一套复杂的安全机制。这让喜爱自由,崇尚一切开放的程序员们极度不爽,于是越狱就成了苹果和黑客们反复斗法的场所。总体...

iOS开发教程之Status Bar状态栏设置的方法汇总

前言 我们在很多app中可以看到不同与导航栏的状态栏的颜色,比如下面: 状态栏 个人觉得 iOS 的 Status Bar 状态栏也是一个比较坑的地方,所以还是写一个总结,有遇到这方面问题的朋...

iOS开发之导航栏各种右滑返回失效的解决方法汇

前言 众所周知iOS 的几乎全部页面都是需要右滑返回的,否则用户体验会大打折扣,但是在开发过程中经常会碰到某些页面右滑返回失效的情况,下面记录一下各种情况下右滑返回失效...

iOS实现简单的头部缩放功能

本文通过实例代码给大家介绍了iOS实现简单的头部缩放功能。实现思路有头部视图,滚动视图,控制头部动画等多个示例代码块,大家可以参考下本文。 简单实现并集成一个头部缩放的...

iOS中震动反馈(UIFeedbackGenerator)与系统震动详解

Taptic Engine 先了解一个概念——Taptic Engine Taptic Engine 是苹果产品上推出的全新震动模块,该元件最早出现在 Apple Watch 中。iPhone 6s 和 iPhone 6s Plus 中,也同样内置了Taptic Engine,在设计上有...

iOS如何封装带复制功能的UILabel示例代码

前言 UILabel继承自UIView是iOS中使用非常频繁的一个视图控件一般用于显示文字。 一:基本使用 1.创建 UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(20, 64, 100, 30)];[self.view addSubview:label]; 2...

Unity移动端的复制要这么写示例代码

前言 Unity官网提供了详尽的文档和丰富的教学视频,昨天跟着视频做了一个简单的3d游戏“roll-a-ball”。游戏涉及了许多Unity的基本知识,用来入门很不错。 本文主要给大家了关于Unity移...

iOS NSDate中关于夏令时的坑

前言 最近线上推广项目的时候,运营反馈了几个bug,其中一个就是字符串转NSDate对象出现nil的情况。 举个例子: NSString *timeStr = @"1992-04-05";NSDateFormatter *formatter = [[NSDateFormatter alloc] in...

iOS中正向、逆向传值的方法总结

前言 本文主要介绍了关于iOS正向、逆的相关内容,对各位iOS开发者们具有一定的参考学习价值,下面话不多说了,来一起看看详细的介绍吧 iOS 开发中经常需要在页面间传递数据,也就...

iOS将时间NSDate转化为毫秒时间戳的方法示例

前言 对于将NSDate类型转换为时间戳,相信大家肯定都会,这样的示例代码,在百度等搜索引擎上面一搜索就是一大篇的东西,但是,大家有没有注意到的是 通过那些方法转换得到的时...

iOS UIButton扩大按钮响应区域的解决方法

在开发中有时会遇见设计图里按钮设计的特别小,这时会用到手动扩大UIButton的响应范围,下面有两个解决办法: 第一种方法: 创建一个类目:UIButton+EnlargeTouchArea .h文件 #import UIKit/U...

iOS 真机调试微信小程序

平时开发小程序可以在开发者工具中进行调试,开发者工具提供了类似 Chrome DevTools 的调试面板,对于前端开发者来说入门门槛比较低。 小程序开发完成之后,我们需要在真机上进行测...

解决iOS下无法触发focus事件的问题

前提 我的思路需要在点击事件之后,先让一个input元素失去焦点,再让另一个input 元素获取到焦点,代码如下: $('#xd_content .tabcontent .nav').on('click', function () { $('#xd_content ').blur(); setTim...

解决ios h5 input输入框被输入法弹出一块区域的问

问题:如下图 解决方案 scrollIntoView scrollIntoView(alignWithTop) 滚动浏览器窗口或容器元素,以便在当前视窗的可见范围看见当前元素。如果alignWithTop为true,或者省略它,窗口会尽可能滚动...

iOS开发技巧之状态栏字体颜色的设置方法

状态栏的字体为黑色:UIStatusBarStyleDefault 状态栏的字体为白色:UIStatusBarStyleLightContent 一、在info.plist中,将View controller-based status bar appearance设为NO 状态栏字体的颜色只由下面的属性设定...

iOS常见的几个修饰词深入讲解

前言: 最近公司在扩招,做为公司仅有的唯一一个首席iOS开发工程师(手动滑稽),我不得不硬着头皮上阵。 然后却发现很多人的水平和年限严重不符,公司招的人都是3年+以上经验的人...

iOS性能优化教程之页面加载速率详解

前言 我认为在编码过程中时刻注意性能影响是有必要的,但凡事都有个度,不能为了性能耽误了开发进度。在时间紧急的情况下我们往往采用“quick and dirty”的方案来快速出成果,后面...

iOS中大尺寸图片的旋转与缩放实例详解

前言 由于iPhone的硬件性能限制,直到iPhone 6s开始,才将最大内存拓展到2G。 可即使是如此,也不代表一个应用可使用的空间是2G。 一张10000 x 10000的图片,如果通过UIImageJPEGRepresentation方...

通过源码分析iOS中的深拷贝与浅拷贝

前言 关于iOS中对象的深拷贝和浅拷贝的文章有很多,但是大部分都是基于打印内存地址来推导结果,这篇文章是从源码的角度来分析深拷贝和浅拷贝。 深拷贝和浅拷贝的概念 拷贝的方...

iOS自定义UITableView实现不同系统下的左滑删除功能

前言 在我们的app开发当中,经常会用到UITableView 的左滑删除的功能,通常的话效果如下 但有时候系统现有的功能并不能完全满足我们的开发需求,这样就需要我们在其现有的功能基础...

iOS的音频文件的格式转换示例

背景 因为我的公司需要设计到app与硬件的通信,所以去年深入的研究了一下音频各种格式的转换,曾写过一篇简书,现在搬过来丰富下自己的blog。 首先介绍一下常用的音频文件格式...

iOS 二维码扫描相关功能实现

写在前面 最近项目要实现相机扫描二维码功能,具体要求:1、扫描框 2、扫描动画 3、相册识别二维码 4、声音反馈。 记得之前用过三方库做过类似功能,但是也是知其然不知其所以然...

iOS中的线程死锁实例详解

什么是线程死锁 是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。 线程死锁怎么发生 发生死锁的情况一般...

iOS适配iPhone XS、 iPhone XS Max and iPhone XR的方法浅析

前言 Building Apps for iPhone XS, iPhone XS Max, and iPhone XR。 原视频连接 https://developer.apple.com/videos/play/tech-talks/207/ 今天凌晨苹果新发布了三款手机,分别是iPhone XS,iPhone XR,iPHone X Max,其中i...

iOS撸一个简单路由Router的实现代码

平常开发中用户点击头像, 进入个人主页,这看似平常的操作, 背后极有可能会牵扯到多个模块。 再如: 视频模块的播放页, 有与视频相关的音乐,点击这些音乐,需要跳转到音乐...

ios原生二维码扫描与生成的实现教程

之前都是第三方的二维码,操作简单pod集成,美滋滋。随着公司项目越来越恶心到大,还是自己撸一个比较实在。 demo的主要功能扫描二维码和生成二维码。 扫描相关类 二维码扫描需要...

iOS中排列组合算法的使用小结

前言 最近在项目中用到了排列组合计算,虽然比较简单,但是整个学习过程还是要记录下来的,以便以后可以吸取经验。 一般来说,排列组合就等于搜索。 注意点: 1.去重复:规定子...

详解iOS开发获取当前控制器的正取方式

背景 在开发过程中,经常需要获取当前 window, rootViewController, 以及当前 ViewController 的需求. 如果 .m 实现不是在当前视图情况下, 我们需要快速的获取到当前控制器, 这种情况就需要先做好...

iOS中NSObject的两种含义:类和协议详解

前言 协议中NSobject是什么意思? 子类继承了父类,子类会遵守父类遵守的协议吗? 会遵守NSObject协议,但是只在头文件中声明,编译器是不会自动生成实例变量的。需要自己处理gette...

iOS经验之初始化方法中不该设置self.view的属性浅

前言 iOS初始化方法包括系统默认的和自定义的,常见系统初始化方法有init, initWithFrame:, initWithNibName:bundle:等,自定义则是各式各样。日常iOS项目开发过程中,我们经常在类的初始化方法...

iOS开发之AssetsLibrary框架使用详解

一、引言 AssetsLibrary框架是专门用来操作相册相关资源的一个框架,其是iOS4到iOS9之间常使用的一个框架,在iOS9之后,系统系统了Photos框架代替了AssetsLibrary框架,但是AssetsLibrary框架依然...

iOS使用核心的50行代码撸一个路由组件

目录 组件化和路由 路由的实现 路由注册实现 客户端的使用 一些小想法 使用组件化是为了解耦处理,多个模块之间通过协议进行交互。而负责解析协议,找到目的控制器,或者是返回...

ios10以下safari设置style无效的解决方法

项目中遇到的奇怪问题,已定位原因。Attempted to assign to readonly property报错 起因:项目中写了个点击事件,增加动态效果,类似于转一转,rotate(360)。很简单的一个特效。 设置元素的t...

iOS中金额字符串格式化显示的方法示例

前言 由于项目中很多地方展现统计金额, 比如在一些金融类的 App 中,对于表示金额类的字符串,通常需要进行格式化后再显示出来。例如: 0 – 0.00 123 – 123.00 123.456 – 123.46 102000 –...

iOS中NSNumberFormatter的介绍与用法

前言 iOS中NSDateFormatter用的范围一般来说比较广泛,不过相对于处理数字而言,很少用到NSNumberFormatter,NSNumberFormatter中有很多枚举类型,会为实际开发节省时间. NSNumberFormatter可以用来处...

OC runtime学习笔记之关联对象

前言 Objective-C 不能动态的添加一些属性到对象上,和其他的一些原生支持这点的语言不一样。所以之前你都不得不努力为未来要增加的变量预留好空间。在 Mac OS X 10.6 中,Objective-C 的...

iOS使用WebView生成长截图的第3种解决方案

前言 WebView就是一个内嵌浏览器控件,在iOS中主要有两种WebView:UIWebView和WKWebView,UIWebView是iOS2之后开始使用,WKWebView是在iOS8开始使用,WKWebView将逐步取代笨重的UIWebView。 由于项目需要...

iPhoneX 序列适配方案(小结)

和往常一样,苹果发布新产品,我们作为开发者都需要对系统和UI布局进行适配,今年也是一样。从去年发布的 iphoneX开始,iPhone 手机加入了刘海设计,而且针对于iphone的刘海,需要特...

iOS 12中无法获取WiFi的SSID了?别慌看这里!

前言 SSID全称Service Set IDentifier, 即Wifi网络的公开名称.在IOS 4.1以上版本提供了公开的方法来获取该信息. 但是最近,Apple于北京时间9月17日晚在官网发布了Xcode 10正式版,QiShare团队成员于...

iOS和JS交互教程之WKWebView-协议拦截详解

前言 由于Xcode8发布之后,编译器开始不支持iOS 7了,这样我们的app也改为最低支持iOS 8.0,既然需要与web交互,那自然也就选择使用了 iOS 8.0之后 才推出的新控件 WKWebView. 相比与 UIWebVi...

iOS中你需要的弹窗效果总结大全

前言 弹框是人机交互中常见的方式,常常出现于询问、警示以及完成某个插入任务,常见于网页端及移动端。弹框能使用户有效聚焦于当前最紧急的信息,也可以在不用离开当前页面的...

iOS实现UIScrollView的无限轮播功能(原理)详解

前言 同学们在写需求的时候肯定会时常用到UIScrollView。 UIScrollView控件是什么? (1)移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限 (2)当展示的内容较...

iOS Swift利用UICollectionView实现无限轮播功能(原理

前言 作为一个资深(自认为)iOS程序猿,会经常用到轮播图,上一次使用UIScrollView实现无限轮播的效果,这一次在Swift语言中,我使用UICollectionView再为大家讲解一次无限轮播的实现原理。...

适配iPhoneXS max和iPhoneX R的方法示例

9.18更新:经测试发现iOS12修改了非刘海屏safeArea的值! 拿iPhone6竖屏情况下为例iOS11中返回的safeAreaInsets为(0,0,0,0);iOS12中返回的safeAreaInsets为(20,0,0,0);是的这个top-20是状态栏...