iOS
文章平均质量分 77
Longshihua
喜欢iOS开发,目前在上海工作!专注Swift学习!
展开
-
博客迁移到简书,欢迎关注
后续的博客CSDN不再更新,如需关注,请关注简书,谢谢原创 2021-12-29 10:16:32 · 1267 阅读 · 0 评论 -
Swift-利用闭包进行反向传值
需求: 第一个视图控制器中创建了一个 label 和一个 button, 点击 button 进入下级界面,下级界面声明 block, 然后创建一个按钮,点击按钮返回,回传需要的数据.二级界面代码如下:效果图如下: ...原创 2015-10-27 15:24:12 · 586 阅读 · 0 评论 -
OC与Swift混编
http://blog.csdn.net/fengsh998/article/details/34440159原创 2015-10-27 17:12:19 · 470 阅读 · 0 评论 -
Xcode 7 创建一个用于纯手写UI界面的Empty Application
1. 运行Xcode7, 创建一个Single View Application工程。2. 随后删除Main.storyboard和LaunchScreen.storyboard,扔进废纸篓。3.打开Info.plist,把Launch screen interface file base name,以及Main storyboard file base name两原创 2015-10-15 17:18:46 · 2625 阅读 · 0 评论 -
Swift 中随机数
基本整型随机数的使用: //1:下面是使用arc4random函数求一个1~100的随机数(包括1和100) let randomNumber:Int = Int(arc4random() % 100) + 1 //2:下面是使用arc4random_uniform函数求一个1~100的随机数(包括1和100. //func arc4rando原创 2015-12-10 17:21:18 · 6307 阅读 · 0 评论 -
CoreText:实现图文混排、点击图片功能(Swift)
这些天学习了一下图文混排,相关基础知识点,前面绘制纯文本文章已经介绍,今天主要看一下图文混排的实现。CoreText图文混排实现的过程CoreText实现图文混排其实就是在富文本中插入一个空白的富文本字符串作为图片占位符,通过代理设置相关的图片尺寸信息,根据从富文本得到的frame计算图片绘制的frame然后再绘制图片的过程。具体分析:Core Text本身并不支持图片绘制,图片的绘制你还得通过C...原创 2016-08-03 19:12:16 · 2824 阅读 · 0 评论 -
UIWebView简单使用
基础知识1:UIWebView是iOS内置的浏览器控件,系统自带的Safari浏览器就是通过UIWebView实现的.UIWebView不但能加载远程的网页资源,还能加载绝⼤部分的常见文件 html\htm pdf、doc、ppt、txt mp4 ......MIME的英文全称是“Multipurpose Internet Mail Extensions” 多用途互联网邮件扩展,是一个互联网标准...原创 2016-01-20 15:16:52 · 536 阅读 · 0 评论 -
UIWebView与JS交互
UIWebView与JS交互 UIWebView与页面的交互主要体现在两方面:使用ObjC方法进行JS页面操作、在页面中调用ObjC方法两部分。和其他移动操作系统不同,iOS中所有的交互都集中于一个stringByEvaluatingJavaScriptFromString:方法中,以此来简化开发过程。下面直接看代码:当访问百度搜索手机版时会发现,有时候点击页面中的某个元素可以调出iOS...原创 2016-01-20 17:23:35 · 482 阅读 · 0 评论 -
UIImagePickerController用法小结
#import "RootViewController.h"//此frameWork中预置了一些跟系统资源相关的常量#import @interface RootViewController ()@end@implementation RootViewController- (id)initWithNibN原创 2015-06-21 16:29:01 · 864 阅读 · 0 评论 -
Instruments User Guide编程指南5-Profile Your App's Memory Usage
About Memory Analysis无论什么时候APP创建对象,将会为对象分配内存。惯例上,APP将跟踪这些对象,并且在不需要的时候释放它们以至于能够为其它对象重新分配内存。Automatic Reference Counting (ARC) 是一个非常有用的特性,将使得内存事情变得非常简单,将由系统负责内存管理。当ARC被允许,系统将监控对象在合适的时候分配和释放,APP将几乎原创 2016-10-10 17:01:27 · 1100 阅读 · 0 评论 -
UILabel的使用
1:UILabel显示不同字体大小、颜色2:动态计算文字大小/** * * @param font 字体大小 * @param size 限制的size */-(CGSize)newSizeWithFont:(UIFont *)font andSize:(CGSize)size{ NSDictionary * tdic = [NSDic原创 2015-06-01 14:22:27 · 738 阅读 · 0 评论 -
Instruments User Guide编程指南1-Introduction
About Instruments Instruments是非常强大和便利的性能分析和测试工具,它是Xcode工具中的一部分。它用于帮助分析我们的OS X和 iOSAPP,为了更好的理解和选择APP的行为和性能。在我们的开发流程中使用Instruments到能够帮助我们节约时间并且尽可能在开发周期找到问题。在Instruments中,我们使用原创 2016-09-26 15:23:29 · 736 阅读 · 0 评论 -
NSNotificationCenter和消息推送的学习
NSNotificationCenter 要在代码中的两个不相关的模块中传递消息时,通知机制是非常好的工具。通知机制广播消息,当消息内容丰富而且无需指望接收者一定要关注的话这一招特别有用。 通知可以用来发送任意消息,甚至可以包含一个 userInfo 字典。你也可以继承 NSNotification 写一个自己的通知类来自定义行为。通知的独特之处在于,发送者和接收者不需原创 2015-06-22 16:10:05 · 2688 阅读 · 0 评论 -
NSUserDefaults的使用
一:先来看一个小demo#import "RootViewController.h"@interface RootViewController ()@end@implementation RootViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(N原创 2015-06-21 22:00:12 · 1455 阅读 · 1 评论 -
CATransition相关使用
CATransition基本内容预览 CATransition类为layer实现了过渡动画,我们可以从一系列预定义的过渡动画中指定过渡效果或者提供自定义的CIFilter实例。 Creating a Transition Animation CATransition类为Core Animation提供了过渡动画功能,它继承于CAAnimation,并且对整个layer产生...原创 2015-06-28 11:08:24 · 1007 阅读 · 0 评论 -
Instruments User Guide编程指南2-Common Tasks
Launch Instruments (启动Instruments)Instruments app在Xcode app的内部,所以最直接的方式启动Instruments就是从Xcode中启动,当然也可以间接通过 Dock, Launchpad, command line等工具启动。Launch Instruments from Xcode (从Xcode菜单栏原创 2016-09-28 13:32:50 · 3971 阅读 · 2 评论 -
获取定位信息
一:定位功能 基本概念: CLLocationManager:定位管理器类。 CLLocationManagerDelegate:该协议代表定位管理器的delegate协议,实现该协议的对象可负责处理CLLocationManager的定位事件。 CLLocation:该对象代表位置。该对象包含了当前设备的精度,维度,高度,原创 2015-07-05 12:24:07 · 1699 阅读 · 0 评论 -
iOS视频播放界面显示音量调节控件
在工作中需要在视频播放界面显示控制音量的滑块,所以学习了一下,关于音量控制(要使用真机) AVPlayer:提供音量控制api,但是只支持IOS7 AVAudioPlayer:提供音量控制api,目前是都支持 MPMusicPlayerController:提供音量控制api,但是支持IOS7以下原创 2015-07-21 13:25:13 · 4453 阅读 · 0 评论 -
Swift - 生成器模式(Builder Pattern)
没有人买车会只买一个轮胎或者方向盘,大家买的都是一辆包含轮胎、方向盘和发动机等多个部件的完整汽车。如何将这些部件组装成一辆完整的汽车并返回给用户,这是建造者模式需要解决的问题。下面就一起来看看生成器模式生成器模式生成器模式(英:Builder Pattern)是一种设计模式,又名:建造模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的原创 2016-10-25 16:07:58 · 1243 阅读 · 0 评论 -
Instruments User Guide编程指南3-Navigate Collected Data
About Data AnalysisInstrument并不帮助我们解决代码问题。它帮助我们更好的理解我们的代码做了什么,当APP运行的时候,通过捕捉,统计详细的数据并呈现数据给我们进行分析。由于每个APP是不一样的,所以实际发现和处理问题的步骤也是不一样的。因此,我们必须学习怎样去理解Instrument为我们收集的数据,过滤不需要的数据,研究与APP相关的数据。我们必须执行一些检测工作,原创 2016-09-28 17:22:18 · 887 阅读 · 0 评论 -
Instruments User Guide编程指南4-Profile You App's Performance
Measure CPU Use 测量CPU的使用有效使用的CPU允许你的应用程序(app)运行得更快和更有效。虽然你正在为特定平台编写一个应用程序,但是记住,即使是相同的通用平台都会有着不同的CPU性能。Instrument 帮助你管理处于各种情况的测试,允许你确认怎样更好的使用APP的多核,线程,和其他资源。Track Core and Thread Use 跟踪多核和线程原创 2016-09-29 17:22:14 · 1583 阅读 · 0 评论 -
Core Image-简单的图片滤镜实现
CoreImage 是一种图片处理和分析的技术用于对静态和视频图片进行高效的处理。是一个OS X和iOS的图像处理框架,Core Image很强大,不仅可以做图片处理,还可以做人脸识别等多种工作。它有两个基本概念:滤镜和滤镜图表。一个滤镜是一个对象,有很多输入和输出,并执行一些变换。例如,模糊滤镜可能需要输入图像和一个模糊半径来产生适当的模糊后的输出图像。一个滤镜图表是一个链接在一起的滤镜原创 2016-10-26 14:01:12 · 1299 阅读 · 0 评论 -
Swift 3实现简单条形码功能
什么是QR Code?QR (short for Quick Response),是二维条形码。最初设计用于制造业的跟踪部分。QR Code最近几年变的流行起来并作为编码URL加载网页信息的一种方式,不像基本的条形码(basic barcode ),QR Code包含了水平和垂直方向的信息,因此可以存储更多的数据,对于更多的认识可以看内容 official website of Q原创 2016-11-07 14:43:22 · 1919 阅读 · 0 评论 -
Core Image Programming Guide编程指南-Introduction
About Core ImageCore Image is an image processing and analysis technology designed to provide near real-time processing for still and video images. It operates on image data types from the Cor翻译 2016-10-26 16:36:57 · 747 阅读 · 0 评论 -
Swift-外观模式(Facade pattern)
比方说你今天不想开车,于是打电话叫了出租车。只要出租车能把你送到目的地,你不太在意车的牌子和型号。你会对出租车司机说的第一句话就是“送我去X”,X就是你想去的地方。然后出租车司机就开始执行一系列的“命令”(送刹车、换挡、踩油门等)。出租车司机抽象走了驾驶汽车的底层复杂操作的细节。他通过提供驾驶服务(简化了的接口),把你与原本复杂的车辆操作接口分离开来。出租车司机与你之间的接口只是一个简单的”送我去原创 2016-11-04 10:18:43 · 845 阅读 · 0 评论 -
Touch ID和Keychain的简单组合使用
Touch ID是苹果生物指纹授权技术,首先是在iPhone 5s上被看到。Touch ID嵌入home建非常方便使用。一旦你的手指触摸home建,Touch ID传感器将立马读取你的指纹,通过分析,确定你是否可以访问iPhone。安全和私有是Touch ID传感器的最大两个关注点。根据苹果,你的设备不能够存储任意包含你的指纹的图片。通过扫描指纹转换到数学显示并且进行加密存储到安全的芯片当中。原创 2016-10-27 11:18:26 · 1547 阅读 · 0 评论 -
Swift-工厂方法(Factory Method)
工厂方法模式是抽象工厂模式的组成部分。各种具体工厂重载其抽象工厂父类中定义的工厂方法,并且用这个重载的工程方法创建自己的产品(对象).生产者自身不必是抽象工厂,它可以是任何类,要点在于不是直接创建对象,而是使用类或者对象的工厂方法创建具体产品,并以抽象类型返回。工厂方法工厂方法(英语:Factory method)是一种实现了“工厂”概念的面向对原创 2016-10-21 16:16:23 · 2411 阅读 · 0 评论 -
Swift-原型模式(Prototype pattern)
定义原型模式是一种非常简单的是模式,属于创建型设计模式的一种。原型模式(Prototype)即应用于“复制”操作的模式,此模式最初定义在《设计模式》(Addison-Wesley,1994),定义为:“使用原型实例指定创建对象的种类,并通过复制这个原型创建新的对象”。简单来理解就是根据这个原型创建新的对象,这种创建是指深复制,得到一份新的内存资源,而不是一个新的指针引用。我们都原创 2016-10-20 09:53:18 · 928 阅读 · 0 评论 -
Swift-适配器模式(Adapter Pattern)
早在19世纪,尼古拉.特斯拉发明了交流电力系统。他也许想象不到,我们要把美国用的电气设备插到欧洲墙上的插座,却没有适配器时的烦恼。设想我在欧洲一个旅管的卫生间里,手拿一个电动剃须刀,看着墙上的插座,却忘了带适配器。现在该怎么办?应该在这儿买个剃须刀吗?可是带回美国还得给它弄个适配器。 在面向对象软件设计中,有时候我们想把有用而经过精心测试的类,用于应用程序的其他新领域。但是,性功能原创 2016-10-27 15:43:21 · 1307 阅读 · 0 评论 -
NSUserActivity的基本使用
简介NSUserActivity并不是一个新的概念,在iOS8中就已经使用它来做Handoff,在iOS9中User Activities变的可以搜索,并且可以在每个Activity里加上Index用的Metadata。但是只能用在用户访问过的或者看见过的内容中。一旦某些内容被记录进NSUserActivity,就可以在Spotlight和Safari中同时原创 2016-10-17 19:46:24 · 7378 阅读 · 0 评论 -
FMDB的基本使用和解析(Swift3.0)
FMDBFMDB是iOS平台的SQLite数据库框架,FMDB以OC的方式封装了SQLite的C语言APIFMDB的优点使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码提供了多线程安全的数据库操作方法,有效地防止数据混乱FMDB中3个主要的类:FMDB 更多的详细信息,看githubFMDatabase - 代表一个SQLite原创 2016-10-28 16:08:10 · 5539 阅读 · 3 评论 -
多线程之GCD
多线程基础概念 进程进程是指在系统中正在运行的一个应用程序。每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内。线程一个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程,称为主线程。一个进程(程序)的所有任务都在线程中执行。 进程和线程的比较1:线程是CPU调用(执行任务)的最小单位。2:进程是CPU分配资源的最小单位。3:一个进程中...原创 2016-01-18 11:03:51 · 1705 阅读 · 0 评论 -
NSAttributedString和NSMutableAttributedString的使用
NSAttributedString是一个带有属性的字符串,通过该类可以灵活地操作和呈现多种样式的文字数据。这个类的一个最简单的概括就是NSAttributedString管理一个字符串,以及与该字符串中的单个字符或某些范围的字符串相关的属性,具体实现时,NSAttributedString维护了一个NSString,用来保存最原始的字符串,另有一个NSDictionary用来保存各个子串/字符的原创 2016-11-10 19:46:23 · 1225 阅读 · 0 评论 -
Swift-中介者模式(The Mediator Pattern)
中介者模式(The Mediator Pattern) 在软件工程中,中介者模式定义了一个对象封装了一些列对象的交互.这种模式被认为是一个行为模式,因为它可以改变程序的运行行为。也可以看这里。通常一个程序是由大量的类组成。所以相关逻辑和计算被分布在类间。然而,随着更多的类被应用到程序中,特别是在维护或重构期间,这些类之间的沟通和交互的问题可能会变得更为复杂。这使得程序难以阅读和维护。此...原创 2016-10-14 14:31:14 · 779 阅读 · 0 评论 -
Swift-桥接模式(Bridge Pattern)
桥接模式1:桥接模式的目的是把抽象层次结构从其实现中分离出来,使其能够独立变更。2:抽象层定义了供客户端使用的上层的抽象接口。实现层次结构定义了抽象层次使用的底层接口。3:实现类的引用被封装于抽象层的实例中,桥接就形成了。示意图Abstraction:定义了供客户端使用的上层抽象接口的父接口,它有一个对Implementor实例的引用原创 2016-10-31 16:37:54 · 1594 阅读 · 0 评论 -
Collection View Programming Guide for iOS-Using the Flow Layout
Using the Flow LayoutYou can arrange items in your collection views using a concrete layout object, the UICollectionViewFlowLayout class. The flow layout implements a line-based breaking layout,翻译 2016-11-14 15:15:25 · 679 阅读 · 0 评论 -
Swift-枚举
枚举定义了一个通用类型的一组相关值,使你可以在你的代码中以一种安全的方式来使用这些值。如果你熟悉 C语言,你就会知道,在 C语言中枚举将枚举名和一个整型值相对应。Swift中的枚举更加灵活,不必给每一个枚举成员提供一个值。如果给枚举成员提供一个值(称为“原始”值),则该值的类型可以是字符串,字符,或是一个整型值或浮点数。此外,枚举成员可以指定任何类型的相关值存储到枚举成原创 2016-11-30 16:34:32 · 1870 阅读 · 0 评论 -
UICollectionView(二)自定义布局UICollectionViewLayout
创建自定义布局在开始创建自定义布局之前,首先需要考虑是否必要,下列情况需要考虑使用自定义布局:1:布局你想要的界面,并不像网格或者基于线程的布局效果。或者需要滚动不止一个方向。 2:你想要频繁改变所有cell的位置,这可能比创建自定义布局有更多的工作,主要是修改存在的流动布局(flow layout )好消息是,从API角度来看,实现自定义布局并不困难,最困难的部分是实现计算来确定布...原创 2015-11-03 16:04:30 · 1823 阅读 · 0 评论 -
UICollectionView(一)基本概念
整体预览高等级的包含和管理(Top-level containment and management)UICollectionView UICollectionViewControllerUICollectionView对象为collection view的内容定义了显示的区域。该类是 UIScrollView的子类,能够拥有大量的滚动区域,同时该类能够更具布局对象的布局信息,非常方...原创 2015-11-03 15:49:54 · 762 阅读 · 0 评论 -
iOS邮箱、手机号等常用验证功能
手机号验证/* 手机号码 13[0-9],14[5|7|9],15[0-3],15[5-9],17[0|1|3|5|6|8],18[0-9] 移动:134[0-8],13[5-9],147,15[0-2],15[7-9],178,18[2-4],18[7-8] 联通:13[0-2],145,15[5-6],17[5-6],18[5-6] 电信:133,1349,149,153,173,原创 2016-12-11 11:54:54 · 3163 阅读 · 0 评论