![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS随笔
weimeng809
这个作者很懒,什么都没留下…
展开
-
UIPopoverController的使用
1.UIPopoverController是什么? 它是iPad开发中常见的一种控制器,并且在iphone上是不允许使用。 该控制器直接继承自NSObject,而不是继承自UIViewController,就决定了该控制器不可视。 该控制器占用部分屏幕空间,并且显示在屏幕的最前面 关于上面的说明:虽然该控制器不可视,但是该控制器有contentViewControll原创 2015-09-08 10:42:19 · 746 阅读 · 0 评论 -
JS与OC 互相调用
1、JS调用OC 如果是结合UIWebview来使用的话,至少有两种方式: 1)地址重定向,定义URL协议。就是将一些要调用的方法和参数拼成URL。然后再去截取解析。使用PerformSelector:方法进行回调。 在加载网页发送请求时会调用webView:shouldStartLoadWithRequest:navigationType: 代理方法。- (BOOL)webView:(UI原创 2016-11-20 01:29:01 · 1130 阅读 · 0 评论 -
iOS 引导图的聚光灯效果代码实现
应用背景 一般一个app进入一个新的页面,或者有新的功能更新的时候都会有一个新手引导来帮助用户快速了解新功能。而这个引导图一般针对某个功能都有聚光灯效果。实现方案介绍 其中背景色在指定的地方有聚光灯的效果。实现方案一般有两种:UI设计给出的一张半透明的图片作为背景图片来实现的;用代码的方式加载一张半透明具有聚光灯效果的背景图片。实现方案思路 新建一个UIView的子类(SpotlightV原创 2016-04-11 00:05:25 · 5093 阅读 · 1 评论 -
排除NSTimer对目标对象的保留
NSTimer是我们常用的对象。但如果使用不当就有可能出现循环引用,造成内测泄漏。 计时器要和运行循环相关联,运行循环到时候会触发任务的执行。 NSTimer的创建可以预先安排在当前的运行循环中,也可以先创建好,然后由开发者自己来调用。不管使用哪种方式,都只有将NSTimer对象放到运行循环中才能使其正常工作。 例如以如下方法,我们创建一个NSTimer.self.timer = [NSTim原创 2016-10-14 18:19:36 · 569 阅读 · 0 评论 -
iOS Sqlite3 数据库的升级
在含有数据库的应用中,随着应用版本的迭代更新,以前设计的数据库表很可能不能满足现在的业务需求,所以我们的应用就需要考虑数据库版本更新,以应对当前的业务。在数据库升级的情况中,有需要给老版本的数据库表增加字段或者添加索引的情况,也有增加新表的情况,还有对旧表中的数据进行升级的情况等。下面使用Sqlite3对这些情况给出一种解决方案。1、整体逻辑概述 1)初始数据库在应用程序中包含一份,然后在程序第一原创 2016-11-12 23:51:23 · 4986 阅读 · 0 评论 -
iOS 导航栏标题文字颜色渐变
1、实现的效果图 2、实现原理 1) 在导航栏UINavigationBar中添加了两个自定义的UIView,其中下层的view用来设置导航栏的背景色渐变,上层的view中添加一个UILabel用来设置导航的标题,此UILabel的文字位置和导航栏的标题文字重合。 2) tableView滚动时,根据contentOffset的y值,设置导航栏颜色的渐变。 3)tableView滚动时,原创 2016-11-01 09:14:14 · 3100 阅读 · 1 评论 -
iOS Keychain钥匙串应用间数据共享
在一个公司中可能有多款产品。对于用户而言,一般使用一个帐号就可以登陆访问该公司的所有的产品。对于这种情况,如果一款手机中装了该公司的两款(或多款)产品,那么我们希望只在其中一款产品中登陆,那么另一款产品中就会获取到帐号密码,从而进行自动登陆。对于iOS端来说,我们可以借助Keychain来实现了。 1.首先是做到可以利用苹果提供的API将一些密码等敏感的数据保存到钥匙串中。将一条或者多条信息保存到原创 2016-09-30 22:39:36 · 4156 阅读 · 0 评论 -
React Native学习笔记(四)Flex布局
基本样式 对于一个组件,定义组件的布局样式通过style属性来定义。 例如:<Text style = {{color: '#ff0000', fontSize: 15}}> 学习布局 </Text>这里通过style属性,定义了Text文本的字体颜色和字体大小。这里第一个大括号是:JSX语法,第二个大括号是:javaScript对象,我们把需要定义的样式都以对象的方式写在这个大括号里。 我原创 2016-06-20 00:12:07 · 3042 阅读 · 0 评论 -
React Native学习笔记(五)Redux基础学习
1.Redux是什么 2.三大基本概念原创 2016-07-03 23:25:45 · 712 阅读 · 0 评论 -
React Native学习笔记(二)JSX 语法学习
1.什么是JSX JSX并不是一门新的语言,而仅仅是个语法糖,允许开发者在JavaScript中书写HTML语法。实际上,每个HTML标签最终转化为了JavaScript代码来运行。 React的核心机制之一就是虚拟DOM:可以在内存中创建虚拟DOM元素。React利用虚拟DOM来减少对实际DOM的操作从而提升性能。 使用JSX语法可以创建虚拟DOM:var root =( <ul cla原创 2016-05-22 23:08:14 · 3384 阅读 · 0 评论 -
React Native学习笔记(一)Mac OS X下React Native的环境搭建
本文介绍Mac OS X系统下的React Native环境搭建过程。环境要求: Mac OS X操作系统 Xcode6.4或以上版本 Node.js4.0或以上版本 watchman和flow安装过程 1) Node.js的安装可以在Node.js的官网https://nodejs.org/ 中下载最新的版本。这里下载的是node-v4.4.2.pkg版本。直接双击运行安装就可以了。原创 2016-05-08 17:53:39 · 2425 阅读 · 0 评论 -
第三方框架FMDB使用
第三方框架FMDB使用关于FMDB FMDB是建立在SQLite之上的,以Objective-C的方式封装了SQLite的C语言API。FMDB的优点 1)使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码; 2)对比苹果自带的Core Data框架,更加轻量级和灵活; 3)提供了多线程安全的数据库操作方法,有效地防止数据混乱;FMDB的使用 在FMDB中主要有三个类 1)FM原创 2016-03-27 19:05:05 · 663 阅读 · 0 评论 -
使用AutoLayout实践
在对界面进行布局的时候,我们经常使用AutoLayout对界面进行布局适配。就AutoLayout的布局实现而言,一般我们经常使用的有三种方式: 1)通过苹果强大的可视化界面(Interface Builder),使用AutoLayout完成界面视图的布局。 2)通过纯代码的形式使用AutoLayout,即NSLayoutConstraint。 3)使用第三方界面布局库Masonry进行代码布原创 2016-04-25 03:18:48 · 5883 阅读 · 0 评论 -
SQLite3学习笔记
SQLite3是一款开源的嵌入式关系型数据库,可移植性好,易用性,内存开销小。 SQLite3是无类型的,意味着你可以保存任何类型的数据到任意表的任意字段中。比如下列的创表语句是合法的: create table t_person(name,age) 为了保证可读性,建议还是把字段类型加上: create table t_person(name text, age integer); SQ原创 2016-03-14 01:11:43 · 561 阅读 · 0 评论 -
ReactiveCocoa的学习笔记
最近看了一些关于ReactiveCocoa的东西,现将其纪录下来。ReactiveCocoa是由Github工程师们开发的一个应用于iOS和OS X开发的函数响应式编程新框架。 在iOS开发中,按钮的点击,收到网络消息,属性的变化(通过KVO)等都是不同的事件,这些事件都用不同的方式来处理,如代理方法、block 回调、target-action 机制、通知、KVO 等,而ReactiveCoco原创 2016-02-28 22:26:04 · 821 阅读 · 0 评论 -
MVVM学习初探
MVC模式大家都比较熟悉,MVVM 是 MVC 模式的一种演进,它主要解决了 ViewController 过于臃肿带来的不易维护和测试的问题。 MVVM的定义 1.M -> Model。MVVM中的Model层和MVC中的Model层是对应的,没有大的区别。可以用来存放表现数据-模型的对象信息 2.V ->View。MVVM中的View层,包含UI本身以及任何视图特定的逻辑, 和对用户输入的原创 2016-01-31 23:37:29 · 977 阅读 · 0 评论 -
iOS 链式编程思想
链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性提高。链式编程特点:方法的返回值是block,block必须返回对象本身(返回block时,block所在的方法调用者对象)block的参数是需要操作的值。代表是:masonry框架下面是链式编程的一个代码实例。为任何一个类添加一个加法计算的功能使用者ViewController.m的文件中- (void)v原创 2015-10-20 17:38:23 · 1581 阅读 · 0 评论 -
iOS应用程序图片适配
pt:代表点px:代表像素点是由像素组成的 对于开发人员,我们关心的是点,而不是像素,这样就能够屏蔽一些关于设备方面的差异。例如iPhone 3GS iPhone4或者iPhone4S他们都是320 x 480的。但是3GS是非retain显示屏的,像素是320 x 480 。iPhone4是retain显示屏的,像素是它的4倍。例如一个100 * 100 像素的图片名字为home.png原创 2015-09-04 17:03:11 · 467 阅读 · 0 评论 -
jenkins在macOS下的安装及使用
jenkins持续集成环境的搭建网上已有很多博客去介绍了,而且写的都很好。在这里推荐几个不错的博客(笔者就是根据这些博客把环境搭建起来的)。jenkins的安装 jenkins安装有多种方式,一种是你直接下载,安装运行,这种方式依赖于它内置的Jetty web服务器。另一种是使用Tomcat或者Glassfish 应用服务器来运行。jenkins运行需要的系统环境推荐最低是:Java 8 (ei原创 2016-12-31 14:42:28 · 1414 阅读 · 2 评论