![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
文章平均质量分 81
梧雨北辰
天行健,君子以自强不息!
展开
-
Xcode文档注释使用总结
Xcode作为iOS的开发神器,为我们提供了十分丰富的文档提示功能,在开发过程中,我们可以十分方便的按下Option键,选中一个类或者方法查看其文档说明。而实际开发过程中我们也可以使用规范的方法添加注释,达到这样的效果。本篇主要介绍几种常用的文档注释方法。多行注释文档/** 多行注释文档相比于普通多行注释多了一个星号。 在这里可以使用markDown语法,书写各种提示信息 如原创 2016-08-15 21:31:50 · 4086 阅读 · 0 评论 -
Swift之自定义标签栏UITabBarController (Swift项目开始的第一步)
Swift之自定义UITabBarController (Swift项目开始的第一步)原创 2017-07-15 15:00:30 · 1585 阅读 · 0 评论 -
AFNetworing同步网络请求?
AFNetWorking同步网络请求?原创 2017-07-15 10:43:07 · 633 阅读 · 0 评论 -
iOS多Target开发相似App
我们在iOS开发中可能会遇到同时开发多个类似项目的情况。这些项目大同小异,有诸多代码可以共用,如果每个项目都分别开发,这在后期的迭代中会十分繁琐。为了解决这个问题,使用多Target开发是一种比较好的选择,本文就这一技术实现进行简要总结。原创 2017-11-21 11:30:46 · 1201 阅读 · 0 评论 -
iOS横竖屏旋转及其基本适配方法
前段时间抽空总结了一下iOS视频播放的基本用法,发现这其中还有一个我们无法绕过的问题,那就是播放界面的旋转与适配。的确,视频播放与游戏类型的App经常会遇到这个的问题。由于至今接手的项目中不常涉及这块知识疏于总结,在搜索了一些资料后也发现都很散乱,所以决定在这里重新整理一下。目录一、最让人纠结的三种枚举 二、两种屏幕旋转的触发方式 三、屏幕旋转控制的优先级 四、开启屏幕旋转的全局原创 2018-01-11 18:18:06 · 22545 阅读 · 3 评论 -
DTCoreText的集成与使用
DTCoreText是可以将HTML字符串转化为富文本使用的工具,既保证原生实现又能适应灵活的样式修改,而且相比于使用WebView显示内容在性能上也有很大优势。本篇就这一技术的使用进行总结。目录一、相关文档 二、DTCoreText的集成 三、DTCoreText的使用 四、可能遇到的错误 五、参考链接一、相关文档GitHub: https://github.c原创 2018-01-30 14:21:52 · 4230 阅读 · 0 评论 -
iOS11后32位应用升级
今天接受了一个改造旧项目的任务,据说项目唯独在iOS11上无法运行。这很容易就让我们想到与最近苹果iOS11放弃支持32位应用的事件有关。确实我在平时开发的项目中也没怎么涉及这个问题,这次在升级应用支持64位的过程中还是遇到了些问题,所以在这里总结一下,也许还会有同行的朋友遇到。一、iOS11停止支持32位的来由苹果于2013年9月推出了iPhone 5S新手机,采用的全新A7处理器其原创 2018-01-08 13:36:17 · 2544 阅读 · 0 评论 -
Charles抓取HTTP、HTTPS的数据包
抓包分析数据在移动开发中十分重要,可以帮助我们更快的了解数据构成,提高开发效率。但是在苹果要求上线的App必须使用HTTS之后,HTTPS数据包的抓取分析较为麻烦,在此总结了在mac上使用Charles抓包的详细步骤。首先我们下载最先版本的Charles 官网下载:https://www.charlesproxy.com/download/ 免费版下载:http://xclient.info/s原创 2017-01-04 14:46:44 · 9800 阅读 · 2 评论 -
ReactiveCocoa函数响应式编程-基础篇
一直以来,都很想学学ReactiveCocoa这个神奇的技术,但是最后都由于各种原因搁置了。这次终于也认真的研究一番,把自己学习心得整理出来留个记录。目录:一、了解函数响应式编程 二、ReactiveCocoa简介 三、ReactiveCocoa集成 四、理解什么是信号 五、从源码理解RAC的信号机制 六、本篇总结一、了解函数响应式编程函数式编程(Funcat...原创 2018-04-02 19:04:59 · 581 阅读 · 0 评论 -
ReactiveCocoa函数响应式编程-应用篇
使用RAC其实就是一个创建信号订阅信号的过程。上篇ReactiveCocoa函数响应式编程-基础篇,主要简单介绍了RAC的信号机制,本篇则以信号为核心,就信号常用的类、操作信号的方法,替换响应处理等方面总结RAC的使用。目录:一、RAC中常用的类 二、RAC中常用的宏 三、RAC中信号的常用操作 四、RAC常用的处理事件响应的方法 五、本篇总结本篇还提供了关于RAC使用的两个测...原创 2018-04-02 19:19:20 · 456 阅读 · 0 评论 -
iOS状态栏使用总结
目录:一、状态栏与导航栏 二、设置状态栏显隐与字体样式 三、设置状态栏背景色 四、启动页隐藏状态栏 五、状态栏、导航栏相关的常用宏定义相关文章:iOS导航栏的使用总结一、状态栏与导航栏状态栏:显示时间、电池等信息 导航栏:显示app页面标题,返回按钮等iOS7之前:状态栏与导航栏是分开的; iOS7之后:状态栏与导航栏合在一起;导航部分总高度(64)= 状态栏高...原创 2018-06-11 10:53:22 · 1336 阅读 · 0 评论 -
iOS导航栏使用总结
目录:一、设置导航栏样式 二、自定义导航栏返回按钮后侧滑不可用问题 三、隐藏导航栏底部的分割线 四、导航栏引起的布局问题相关文章:iOS状态栏的使用总结一、设置导航栏样式设置导航栏的样式可分为全局设置与局部设置;1.全局设置全局设置一般的都是在AppDelegate中设置,这样整个app都会生效,相关的代码与效果图如下://1.设置导航栏背景颜色[[...原创 2018-06-11 10:56:59 · 1225 阅读 · 0 评论 -
iOS视频播放的基本方法
本文总结了iOS中最常见的视频播放方法,不同的方法都各具特点,我希望能够总结它们的不同,方便在开发中选择合适的技术方案。Apple为我们提供了多种方法来实现视频播放,包括MPMoviePlayerController,MPMoviePlayerViewController,AVPlayer,AVPlayerViewController等。而值得注意的是,上述的MPMoviePlayerCont...原创 2018-06-11 11:12:50 · 940 阅读 · 0 评论 -
Runtime运行时-基础篇
本文主要整理了Runtime的相关知识。对于一个iOS开发者来说,掌握Runtime的重要性早已不言而喻。OC能够作为一门优秀的动态特性语言,在其背后默默工作着的就是Runtime。在网上也看过很多资料,最终我还是希望在一些关键的知识点上能够融入自己的理解,从简单的问题出发,一步一步理解和学以致用。相关文章:iOS运行时Runtime应用目录:一、怎么理解OC是动态语言,Run...原创 2018-06-11 11:16:55 · 592 阅读 · 0 评论 -
Runtime运行时-应用篇
在上篇文章iOS运行时Runtime基础后,本篇将会总结Rutime的具体应用实例,结合其动态特性,Runtime在开发中的应用大致分为以下几个方面:相关文章:iOS运行时Runtime基础一、动态方法交换:Method Swizzling实现动态方法交换(Method Swizzling )是Runtime中最具盛名的应用场景,其原理是:通过Runtime获取到方法实现的地址...原创 2018-06-11 11:19:21 · 562 阅读 · 0 评论 -
Swift学习:属性
本篇将详细总结介绍Swift属性的用法; 属性是与特定的Swift类、结构体、枚举相关联的值;与其他语言相比,属性不再是被类所特有。主要内容: 1.存储属性与计算属性 2.属性观察器 3.类型属性 4.全局变量与局部变量一、存储属性与计算属性从属性被定义的方式上看,Swift属性有存储属性和计算属性两种: 存储属性:存储在特定类或结构体实例里的一个常量(let)或变量(...原创 2018-08-13 09:23:14 · 567 阅读 · 0 评论 -
iOS与JS交互的总结
实现iOS和JS的交互原创 2016-07-29 18:39:29 · 1690 阅读 · 0 评论 -
iOS相机、麦克风等权限的判断与设置
一、iOS应用权限检测在涉及到这个问题的时候,首先为了适配iOS10系统,我们必须首先在info.plist文件声明中将要用到的权限,否则将会引起崩溃如下: “This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app’s Info.原创 2017-01-10 09:32:02 · 13320 阅读 · 0 评论 -
UI初级之界面特殊处理技巧一
内容提要:UI界面的特殊处理技巧一一、点击按钮,传递不同图片的问题- (void)btnClick:(UIButton *)btn{ //问题描述:ImageDetailViewController是当前的导航控制器将要push进来显示的视图控制器 //而在当前的视图控制器中,btn都是由不同的图片组成的 //点击本视图中的bt原创 2015-09-06 13:39:40 · 436 阅读 · 0 评论 -
Swift之可选型
Swift可选型的使用总结原创 2016-08-12 10:23:06 · 1389 阅读 · 0 评论 -
OC设计模式之代理(委托)设计模式
作为一种面向对象类型的语言,OC中也有各种设计模式的体现,这里讲到的是代理(委托)设计模式。首先我们来理解一下什么是委托设计模式, 1.委托(delegate)也叫代理,是iOS开发中常用的设计模式。 2.代理模式是一种简单而功能强大的设计模式,这种模式用于一个对象“代表”另外一个对象和程序中其他的对象进行交互。 3.主对象(这里指的原创 2015-07-28 21:59:12 · 2003 阅读 · 0 评论 -
OC面向对象之第一个OC类
在学过java、c++这样语言之后,再来学习OC语言,虽然也同样是面向对象的语言,但是OC语言仍然给我们一种很"怪异"的感觉。这主要是由于OC语言本身有着它独特的命名和使用方法。总结java语法和OC语法的使用,我们会发现其实还是有很多规律可循的。下面就总结了OC类的一些特性。一、关于OC类 1.oc中一般用两个文件描述一个类,与java是不同的。原创 2015-08-31 08:38:45 · 670 阅读 · 0 评论 -
OC基础:Foundation框架之NSString和NSMutableString
内容简介: Foundation框架之NSString和NSMutableString 第一部分》》》》NSString的使用 基本用法 //1.创建字符串 //1.1常规创建,创建一个空的字符串 //这样创建的字符串几乎没用,因为它们是空的而且还不可变 //alloc创建原创 2015-09-06 13:25:37 · 471 阅读 · 1 评论 -
UI初级之常用UI控件UILabl 与 UIButton
内容简介:UI学习之常用UI控件UILabl 与 UIButton UILabel的重要属性:textcolor text font textAignment原创 2015-09-06 13:29:21 · 791 阅读 · 1 评论 -
UI初级之表视图UITableView自定义单元格
内容概要: 表视图之自定义单元格 一、直接在cell.contentView上添加组件来自定义cell//返回cell- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ NSString *id原创 2015-09-06 13:33:29 · 1426 阅读 · 0 评论 -
UI初级之界面特别处理技巧二
内容提要:UI界面的特别处理技巧二 一、问题说明:修改标签管理器标签和视图控制器标题不一样 使用标签管理器来管理导航控制器, //self.title = @"home”;//当前视图的title(上面标题) //self.navigationItem.title = @"home"; //上述方法无效,要找准层级关系原创 2015-09-06 13:41:28 · 495 阅读 · 0 评论 -
iOS开发中设置圆角的方法
效果图:方法一:使用代码设置 //第一步设置圆角的大小 //如果是设置为视图的高度的一半,则为半圆弧 _circleBtn.layer.cornerRadius = 5; //第二部:设置剪切 _circleBtn.layer.masksToBounds =YES; //CAL原创 2016-04-16 10:34:31 · 1150 阅读 · 0 评论 -
关于iOS开发CPU架构的问题
首先,之所以提到CPU架构的问题,其实是因为我们iOS开发使用的静态库与动态库与之紧密相连。每一个开发的App都要运行在模拟器或者真机上,在编译的时候,Xcode需要去分析当前运行平台的CPU架构,然后确定所使用的静态库是否支持这个CPU架构。如果不支持就会报错。一、什么是CPU架构“CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。目前市面上原创 2016-11-08 15:00:36 · 2438 阅读 · 0 评论 -
iOS提交审核失败:通知“has changed to Invalid Binary.”错误
2016-11-09今天在App提交审核的时候遇到了一个问题,打包上传到itunes Connect的过程都没有问题,但是之后在itunes Connect的活动中却看不到自己上传的新版本二进制文件。而且自己还收到了“Your app… (Apple ID:xxx) has changed to Invalid Binary”的错误通知。 在网上找了一些资料都说是iOS10权限的问题,比如在App原创 2016-11-09 14:57:00 · 4240 阅读 · 0 评论 -
Swift之构造器(上)
Swift 构造器 1. 构造器适用于类、结构体、枚举。是新的实例可用之前必须执行的一个过程 2. 构造器具体的操作包括:必须保证所有存储型属性有合适初始值,执行其他必须的设置 3. 构造器无需返回值,区别于OC原创 2016-08-13 16:12:37 · 489 阅读 · 0 评论 -
Swift之构造器(中)
本篇继续对Swift中的构造器进行介绍,这里主要说到类的继承和构造。 作为引用类型的类具有的继承特性,这使得类的构造过程较为复杂一些,因为涉及到很多细节性的问题。原创 2016-09-21 17:15:35 · 580 阅读 · 0 评论 -
Swift之构造器(下)
本篇主要介绍Swift中构造器的一些特殊用法原创 2016-09-21 17:19:27 · 507 阅读 · 0 评论 -
关于iOS设备参数的获取
一、判别当前手机系统版本号 //系统版本字符串 CGFloat currentSystemVersion = [[[UIDevice currentDevice] systemVersion] floatValue]; NSLog(@"currentSystemVersion:%f",currentSystemVersion); //currentSystemVersi原创 2017-01-03 19:09:42 · 1058 阅读 · 0 评论 -
Xcode报错总结
iOS开发,Xcode报错提示总结原创 2017-01-03 10:27:06 · 804 阅读 · 0 评论 -
探究Block原理(上篇)-Block本质及存储域问题
主要内容:1.理解Block的本质2.理解Block的存储域分类3.理解Block的Copy原理一、探究Block的本质从一个最简单的Block使用示例说起,我们分析如下代码://main.m文件:#import <Foundation/Foundation.h>int main(int argc, char * argv[]) { int num = 10;...原创 2019-10-06 22:19:42 · 448 阅读 · 0 评论