摘要: IOS上 关于状态栏的相关设置(UIStatusBar) 知识普及 ios上状态栏 就是指的最上面的20像素高的部分状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池、时间等部分; 背景部分:就是显示黑色或者图片的背景部分; 如下图:前景部分为白色,背景部分为黑色 背景部 阅读全文
posted @ 2017-02-28 14:38 brave-sailor 阅读(8077) 评论(0) 推荐(0)
摘要: 随便打开手机上的主流APP,我们不难发现它们的状态栏都是跟导航栏保持一致的背景颜色,如下图的微信和instagram: WECHAT.PNG INS.PNG 那么今天我们就来说一下StatusBar这个只有区区20像素高度的小东西。 UIStatusBarStyle 状态栏有两种显示风格:1.UIS 阅读全文
posted @ 2017-02-28 14:30 brave-sailor 阅读(1290) 评论(0) 推荐(0)
摘要: 状态栏的高度 20 Navigation的高度 44 加起来一共是64 阅读全文
posted @ 2017-02-28 14:28 brave-sailor 阅读(1760) 评论(0) 推荐(0)
摘要: 一、键盘 1、UIKeyboardWillShowNotification-将要弹出键盘 2、UIKeyboardDidShowNotification-显示键盘 3、UIKeyboardWillHideNotification-将要隐藏键盘 4、UIKeyboardDidHideNotificat 阅读全文
posted @ 2017-02-28 14:23 brave-sailor 阅读(180) 评论(0) 推荐(0)
摘要: 这几天做App的时候,需要添加旋转屏通知以便调整UI布局 刚开始我使用的是UIDeviceOrientationDidChangeNotification, 一直有一些问题就是,如果使用这个通知,当iPhone/iPad旋转的时候,你会得到的旋转方向会是所有的 [cpp] view plain co 阅读全文
posted @ 2017-02-28 14:22 brave-sailor 阅读(739) 评论(0) 推荐(0)
摘要: 上一篇讲到的本地推送是普通的消息推送,本篇要讲一下带按钮动作的推送消息,先上个图瞅瞅: 继上一篇的内容进行小小的改动: 在didFinishLaunchingWithOptions方法内进行以下修改 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 阅读全文
posted @ 2017-02-28 14:16 brave-sailor 阅读(219) 评论(0) 推荐(0)
摘要: 本地推送通知是通过实例化UILocalNotification实现的。要实现本地化推送可以在AppDelegate.swift中添加代码实现,本事例是一个当App进入后台时推送一条消息给用户。 1.首先在didFinishLaunchingWithOptions方法内添加代码,IOS8推送消息首先要 阅读全文
posted @ 2017-02-28 14:15 brave-sailor 阅读(467) 评论(0) 推荐(0)
摘要: 使用UILocalNotification可以很方便的实现消息的推送功能。我们可以设置这个消息的推送时间,推送内容等。 当推送时间一到,不管用户在桌面还是其他应用中,屏幕上方会都显示出推送消息。 1,推送消息的发送 AppDelegate.swift import UIKit @UIApplicat 阅读全文
posted @ 2017-02-28 14:14 brave-sailor 阅读(322) 评论(0) 推荐(0)
摘要: 昨天研究了一下苹果近两年新出的Swift语言,感觉学起来并不是很吃力,毕竟自己有过Objective-C的语言功底,所以各方面的属性控件还是一眼就可以认出的,只是Swift的写法与Objective-C写法不同而已,这点还是要花点时间来习惯就好了,下面来看Swift的UILabel的相关属性与写法吧 阅读全文
posted @ 2017-02-28 11:55 brave-sailor 阅读(450) 评论(0) 推荐(0)
摘要: Swift 中添加的UIView都是有层级的。 我们先添加三个看一看 [objc] view plain copy let view1=UIView(frame: CGRectMake(10, 50, 200, 200)) let view2=UIView(frame: CGRectMake(60, 阅读全文
posted @ 2017-02-28 11:21 brave-sailor 阅读(1847) 评论(0) 推荐(0)
摘要: import UIKit class ViewController: UIViewController { var diamonds:UIView! var diamondsXY = CGRectMake(0,200,50,50) override func viewDidLoad() { supe 阅读全文
posted @ 2017-02-28 10:58 brave-sailor 阅读(494) 评论(0) 推荐(0)
摘要: HashMap在我们的工作中应用的非常广泛,在工作面试中也经常会被问到,对于这样一个重要的集合模型我们有必要弄清楚它的使用方法和它底层的实现原理。HashMap是通过key-value键值对的方式来存储数据的,通过put、get方法实现键值对的快速存取,这是HashMap最基本的用法。HashMap 阅读全文
posted @ 2017-02-28 10:16 brave-sailor 阅读(377) 评论(0) 推荐(0)
摘要: LinkedList底层是通过双向循环链表来实现的,其结构如下图所示: 链表的组成元素我们称之为节点,节点由三部分组成:前一个节点的引用地址、数据、后一个节点的引用地址。LinkedList的Head节点不包含数据,每一个节点对应一个Entry对象。下面我们通过源码来分析LinkedList的实现原 阅读全文
posted @ 2017-02-28 10:10 brave-sailor 阅读(310) 评论(0) 推荐(0)
摘要: ArrayList底层维护的是一个动态数组,每个ArrayList实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。 ArrayList不是同步的(也就是说不是线程安全的),如果多个线程同时访问一个Arr 阅读全文
posted @ 2017-02-28 10:09 brave-sailor 阅读(262) 评论(0) 推荐(0)
摘要: 可能大家都知道,java中的ArrayList类,是一个泛型集合类,可以存储指定类型的数据集合,也知道可以使用get(index)方法通过索引来获取数据,或者使用for each 遍历输出集合中的内容,但是大家可能对其中的具体的方法是怎么实现的不大了解,本篇就将从jdk源码的角度看看什么是动态扩容数 阅读全文
posted @ 2017-02-28 10:05 brave-sailor 阅读(432) 评论(0) 推荐(0)
摘要: 一直想弄明白runtime是怎么回事,因为面试的时候这是一道必备问题,但是平时用的机会真的少之又少,我一度以为runtime只是用来装13的利器,没什么卵用。但是随着学习的增多,发现runtime真的很有用,但也没那么神秘。我相信看了我这篇博客,您对runtime肯定会有自己的理解。 先说说OC与C 阅读全文
posted @ 2017-02-28 10:03 brave-sailor 阅读(368) 评论(0) 推荐(0)
摘要: 注册Github账号有半年多的时间,却一直不知道如何将自己做好的项目部署到Github中。看了网上许多的教程,要么一开始就来Git命令行,要么直接就来一堆术语,很少能够真正说中要点,解决我们的烦恼。 而我一开始也正是因为在网上苦寻方法和教程无果,最后失去了热情和耐心,放弃了深入Github,导致失去 阅读全文
posted @ 2017-02-28 09:56 brave-sailor 阅读(365) 评论(0) 推荐(0)