IOS开发
文章平均质量分 85
jaybinhe
IOS开发者 热爱生活 热爱一切美好的事物
展开
-
IOS开发的适配问题
在IOS软件的开发过程中,无论是在开发API的使用上还是在系统界面的设计布局上都离不开版本设备之间的适配问题。只有合理的处理好软件系统在不同移动终端的适配问题才能提高用户体验度,更好的获取用户。 简单的谈谈系统在兼容IOS6和IOS7时的问题: 1) 坐标设定问题:以屏幕左上角为原点(iOS7以前在状态栏或者导航条下)。适配的部分实现代码如下:判断当前IOS设备的系统版本原创 2014-03-29 11:08:15 · 1582 阅读 · 0 评论 -
利用Associative机制为UIAlertView添加一个Block属性,将AlertView与button的响应事件关联
objective-c有两个扩展机制:category和associative。我们可以通过category对已经存在的类添加和扩展方法,但是它有一个很大的局限性,那就是不能扩展属性。于是,就有了专门用来扩展属性的机制:associative。关联对象是Runtimezhong关联对象是Runtime中一个非常实用的特性 associative的主要原理,就是把两个对象相互关联起原创 2015-06-16 16:09:59 · 1350 阅读 · 1 评论 -
Apple Watch开发的一些细节和总结
这篇文章旨在总结一下最近Watch开发下碰到的问题和细节1、关于Watch的真机调试问题 一般的情况下,你为IOS主应用创建了一个extention,比如说Today Extension 。Xcode都会自动帮你生成该extention的appid,然后生成对应的Provisioning Profile。然后在Targets-->Build Settings-->Code原创 2015-06-04 15:29:30 · 4523 阅读 · 0 评论 -
IOS几种常见的实现扫描、生成二维码的方式(一、使用ZBar SDK)
IOS中的几种常见的扫描二维码方式(一、使用ZBar SDK)原创 2015-09-21 21:09:09 · 6735 阅读 · 1 评论 -
小结一下最近项目如何适配IOS9
反正现在也已经习惯了,每次只要苹果系统一升级,对于APP开发者来说一系列的适配问题也就会随之而来。所以需要我们不断的关注和记录新系统、新特性。1、App Transport Security(ATS)对于IOS9苹果在系统的安全策略上已经做了重大的调整和努力。出于安全性的考虑,为提高系统及应用安全性在IOS9引入了的新特性:App Transport Security(ATS)。并且一旦开原创 2015-09-25 11:54:34 · 1345 阅读 · 0 评论 -
IOS 3D Touch 开发教程
前一阵子伴随着苹果发布新产品iPhone6s 和 IOS9新系统,一系列关于硬件和软件的新功能、新特性逐渐进入iPhone用户的视线。这次我们就来讲讲传闻已久的3D Touch。 当然这个新功能不仅仅需要手机系统更新到最新的IOS9系统,更需要设备必须是iPhone6s及以上。哈哈哈。。。所以,这个功能目前也只能是iPhone6s的用户才能体验到。总的来说苹果推出3D To原创 2016-03-02 12:17:24 · 3734 阅读 · 0 评论 -
Xcode6以后如何用企业证书发布应用
Xcode6以后,使用企业账号发布应用的流程发生了很大的变化。所以这里也写篇文章总结记录一下。不得不说貌似每次Xcode的升级都对企业账号的发布流程有所调整。 相对于以前来说,在Xcode5的时代,使用企业账号发布应用真的是方便很多。而且编译器Xcode也会在打包和导出IPA包的流程上引导我们去完成企业应用的发布流程。 关于以前(Xcode6之前)是如何通过企业原创 2015-10-20 16:22:36 · 4658 阅读 · 0 评论 -
IOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)
随着iPhone6+设备的上市,如何让手头上的APP适配iPhone4/4s,iPhone5/5s,iPhone6/6s,iPhone 6p/6ps多种机型多种屏幕尺寸变得尤为迫切和必要。原创 2015-10-19 17:35:02 · 5963 阅读 · 2 评论 -
动态计算UITableViewCell的高度
这篇文章主要介绍如何在开发中灵活的计算具有动态高度内容的Cell的高度。关于计算UITableViewCell的高度(Cell中有Lable、TextView等动态内容的控件),大体的实现思路无非是两种。一种就是以前传统的绝对布局方法(Frame),涉及到的API sizeToFit、sizeThatFits:,通过数据内容挨个反算Cell中控件的Frame,然后计算出Cell的总高度,总体上原创 2016-08-18 11:37:16 · 1276 阅读 · 0 评论 -
App如何跳转到系统Settings
我们经常看到很多应用都有从App页面直接跳转到系统Settings的这个功能,于是就稍微总结一下备着以后能用的上。原创 2015-12-04 15:56:56 · 4531 阅读 · 3 评论 -
总结适配IOS10需要注意的问题
就前不久,苹果刚刚对外正式发布了新的操作系统IOS10。悲剧的是就在发布新系统的当天公司就急着要发布一个新版本,问题来了。。。谁知道APP在IOS10上会遇到什么鬼情况!最怕的就是闪退。。。于是在上线前做了很多关于IOS10的适配工作,其中也踩了很多坑。所以在这里记录总结一下。1、自动管理证书首先要说的就是Xcode8。打开Xcode8最明显的就是Targets-->General原创 2016-09-26 17:01:28 · 4601 阅读 · 0 评论 -
IOS10.3 URL Scheme 命名的调整
对于IOS系统来说,我们可以通过给APP定义一个唯一的URL路径来从外部快速的打开这个指定的APP。这种策略叫做URL Scheme。这个URL路径一般格式为:myapp://或者 MyApp://。另外我们还需要在项目中的info.plist文件中设置相应的URL Scheme值,如下:完成上面的设置后只要我们iPhone已经安装了该应用,我们就可以在浏览器地址栏输入 AppUrlS原创 2017-04-06 16:42:51 · 3267 阅读 · 0 评论 -
ios在数字键盘左下角添加“完成”按钮的实现原理
最近要在系统弹出的数字键盘上的左下角额外添加一个自定制的完成按钮,于是研究了一下系统自带键盘添加自定制按钮的实现方式。总结了一下大体上的通用做法,原理大概是这样:当页面上的文本框或其他输入源因为用户的点击而变成第一响应者的时候(becomeFirstResponder),系统键盘就会弹出。而每次键盘弹出或收起时,都会向系统发送相关的键盘事件即通知消息(notification)。所以,我们只要在键原创 2014-11-06 11:48:05 · 7688 阅读 · 6 评论 -
ios下 KeyChain 的研究
iOS的keyChain是一个相对独立的空间,当我们的程序(App)被替换或者删除时并不会删除保存在keyChain的内容。相对于NSUserDefaults、plist文件保存等一般方式,keychain保存更为安全。所以我们会用keyChain保存一些私密信息,比如密码、证书、设备唯一码(UDID)等等。 我们可以把KeyChain理解为一个Dictionary,所有数据都以k原创 2015-02-27 17:50:36 · 8425 阅读 · 0 评论 -
ios开发下arc和非arc文件混编
“ios中如果arc和非arc文件混编,可以在build parses中指定compileflags,如果arc文件设为"-fobjc-arc",非arc文件设为"-fno-objc-arc"”原创 2014-10-09 16:42:50 · 993 阅读 · 0 评论 -
解决Xcode运行模拟器时弹出密码输入框
每天使用Xcode运行模拟器的时候,Xcode总是会弹出一个输入密码提示框:“DeveloperToolsAccess”需控制另一进程,以便继续调试。键入您的密码以允许执行此操作。每次都要输入密码才能运行模拟器真心觉得很麻烦呀,之后干脆在网上找到了解决方法。其实这是个很白痴的问题:打开Xocde,选择界面右上角的Organizer----->选择Devices----->选择自己的Mac-----原创 2014-03-29 11:12:56 · 2128 阅读 · 1 评论 -
关于IOS8 下的UITableViewCell 的视图层次
前一阵子,将手头上的原创 2014-09-18 20:45:22 · 3836 阅读 · 0 评论 -
ios8下的远程推送通知
今天将项目适配IOS8,但是推送通知的几个代理方法一直没执行。didRegisterForRemoteNotificationsWithDeviceToken 和 didFailToRegisterForRemoteNotificationsWithError 查了一下UIApplication这个类的API ,发现IOS8 下新增了一个API registerForRemoteNot原创 2014-09-17 20:01:48 · 3721 阅读 · 0 评论 -
ios的浅复制和深复制 (NSCoping协议)
最近在用NSArra原创 2014-09-24 20:04:45 · 2027 阅读 · 0 评论 -
浅谈Objective-C 的几种多线程加锁用法
NSLock*lock原创 2014-10-09 16:31:43 · 1586 阅读 · 0 评论 -
IOS8 新增UIAlertController类
IOS8 新增了UIAlertController类,将原先的两个类UIAlertView和UIActionSheet 封装到新类UIAlertController中(即被弃用了)。通过属性UIAlertControllerStyle(UIAlertControllerStyleAlert|UIAlertControllerStyleActionSheet)来区分这两个控件样式的使用。原创 2014-09-24 20:07:18 · 2702 阅读 · 2 评论 -
(判断第三方输入法)在系统数字键盘上添加“完成”按钮引发的问题思考
以前在系统自带的数字键盘上的左下角额外添加一个自定制的完成按钮,并且在键盘上添加了其他的控件样式。不过不久后,IOS8出来了,开始强大的支持第三方输入法。于是问题出来了。如果用户安装了第三方的输入法并设置使用。那么我们原先对于数字键盘上的控件定制将是一个很糟糕的麻烦。按照原先的数字键盘布局添加的“完成”等其他的按钮就会错位并且覆盖第三方输入法的键盘符。效果如下图: 解原创 2015-01-06 19:24:54 · 3242 阅读 · 0 评论 -
IOS开发实现 UIScrollView 的循环轮播功能
这个控件类主要是实现 UIScrollView 的图片循环播放。主要的实现思路是首先在 UIScrollView 内添加三张视图 view,然后根据滑动和切换的需要更换这三张视图 view 上面的图片,同时改变 UIScrollView 当前 contentOffset 所显示的位置(每次滑动和切换后都让 UIScrollView 的 contentOffset 指示在中间的那张图片上)即可达到流原创 2015-01-08 20:50:29 · 1724 阅读 · 2 评论 -
IOS下的横竖屏切换研究
IOS的横竖屏控制是由根控制器控制的。即为与window第一个接触的视图控制器(self.window.rootViewController)。如果我们的项目通过 UINavigationController 来实现的,那么根控制器就是如下面代码里的 RotateNavigationController。- (BOOL)application:(UIApplication *)applicat原创 2015-01-08 20:20:50 · 3004 阅读 · 1 评论 -
适配iOS11和iPhone X的经验总结
感觉好久没有静下心来总结和记录技术问题了,博客文章也好久没有更新了。。。虽然平时工作上也都会不断遇到新的问题和难点,但基于繁忙的业务开发和自己最近的一些私事缠身,遇到问题基本都是快速解决就草草了事了,没有深入的总结和记录,回想真是于“颓废”了。今天着手总结一下前一阵子适配iOS11和iPhone X遇到的一些问题和经验总结。 一、iOS11引发的问题1、在iOS11下tableview...原创 2018-03-07 18:55:21 · 728 阅读 · 0 评论