avatar
Articles
57
Tags
1
Categories
5

vanney随笔

vanney随笔

iOS Method Swizzling
Created2016-03-26|iOS
前言有个奇怪的需求:每个UIViewController在viewDidAppear:和viewWillAppear:方法中都需要执行一些操作。这里介绍一种iOS Method Swizzling方法:让viewDidAppear:和customViewDidAppear:方法调换实现方式;让viewWillAppear:和customViewWillAppear:方法调换实现方式。 实现过程 新建UIViewController的一个category - Swizzle 在Swizzle中实现customViewDidAppear:方法和customViewWillAppear:方法。 并且重写load方法,在load方法中将指向viewDidAppear:实现的指针和指向customViewDidAppear:实现的指针对调;将指向viewWillAppear:实现的指针和指向customViewWillAppear:实现的指针对调 函数指针对调实现 在AppDelegate.m中import这个Swizzle category。那么在所有的UIViewController执行 ...
iOS从图库或相机获得图片
Created2016-03-24|iOS
前言一款App很有可能需要访问系统的图库(照片)或者通过相机来获取图片,比如更换用户头像等等。效果如图👇 下面来看看如何实现 查看访问权限App在第一次访问系统照片或者相机时,通常需要询问是否有权限去access相片图库或者使用相机。可以通过下面代码得知目前该app的权限👇 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253@import AVFoundation;@import Photos;// 检查使用相片的权限, YES为可以访问,NO为不能使用+ (BOOL)checkPhotoLibraryAuthorizationStatus { if ([PHPhotoLibrary responseToSelector:@selector(authorizationStatus)]) { PHAuthorizationStatus status = [PHPhotoLibrary author ...
iOS全局设置
Created2016-03-24|iOS
前言一个iOS项目,有很多东西是全局通用的,比如全局常量等等。在整个项目的某个地方,对其进行全局设置,会极大的方便程序的编写,而且简化程序的结构。 不同类型的全局设置 用户登录,用户数据全局存储 用户登录,用户数据全局存储用户登录时,对用户数据进行存储,在全局都可以获得当前登录用户的数据。来看看如何实现 NSUserDefaultsNSUserDefaults用来存储轻量级的本地数据灰常合适,就比如说当前的登录用户数据(用户名,密码等等)。NSUserDefaults存储时支持的数据类型有 NSNumber, NSString, NSDate, NSArray, NSDictionary, BOOL。它有点类似键值对。 plistplist是Property List的缩写,它是一个xml格式的文件,用来存储串行化后的对象。因此plist文件可以用来存储历史登录用户的数据。 示例用户登录时1234567+ (void)doLogin:(NSDictionary *)loginData { NSUserDefaults *defaults = [NSUserDefau ...
2016-week4
Created2016-03-19|杂七杂八
前言上周末去见老同学了,week3就不写了=。= 都是借口啊,来看看这周碰上一些什么问题。 问题列表 edgesForExtendedLayout 获取版本号 文本自动调整大小 AppStore, Settings页面跳转 edgesForExtendedLayout经常会碰到的一个问题:UITabBarController包含多个UINavgationController,每个UINavgationController又包含着自己的ViewController。这个时候ViewController的frame占据了整个屏幕(既包括了NavBar的地方,又包括了TabBar的地方),很烦;如何让这样的ViewController的View只占据NavBar和TabBar之间的区域呢?这时就需要edgesForExtendedLayout属性了。edgesForExtendedLayout是UIViewController的一个属性,它只在ViewController嵌在其他容器内时才起作用,比如UINavgationController。默认的值是UIRectEdgeAl ...
Mac Colorful Terminal
Created2016-03-19|杂七杂八
前言今天装完Mysql之后发现之前终端的颜色不见了,本来那颜色看的也挺操蛋的。Google之后发现了solarized。来看看效果👇 具体步骤 Terminal设置 Vim设置 ls设置 Terminal设置 github下载solarized 1$ git clone git://github.com/altercation/solarized.git 导入terminal配置文件 打开Terminal的偏好设置,导入下面的配置文件 1solarized/osx-terminal.app-colors-solarized/Solarized Dark ansi.terminal Vim设置Vim保持和Terminal相同的配色,设置如下👇 123456789$ cd solarized$ cd vim-colors-solarized/colors$ mkdir -p ~/.vim/colors$ cp solarized.vim ~/.vim/colors/$ vim ~/.vimrcsyntax enableset background=darkcolor ...
ActionSheetPicker源码分析
Created2016-03-15|iOS
前言ActionSheetPicker可以快速生成UIPickerView+UIActionSheet的效果。效果如下👇 ActionSheetPicker代码结构从github上将项目拷贝下来后,可以看到ActionSheetPicker的文件目录如下👇 ActionSheetPicker可以实现4种类型的picker: ActionSheetStringPicker ActionSheetDistancePicker ActionSheetDatePicker ActionSheetCustomPicker 这4种picker都是继承自AbstractActionSheetPicker。下面以ActionSheetStringPicker为例,来分析ActionSheetPicker的源码。 ActionSheetStringPicker使用示例ActionSheetStringPicker的使用很简单,示例代码如下👇 123[ActionSheetStringPicker showPickerWithTitle:nil rows:@[@"男" ...
2016 Week 2
Created2016-03-05|杂七杂八
开篇第二星期开始,先和浩哥去看了美人鱼,就开始每天继续Coding-iOS的学习了。个人感觉这个Coding-iOS项目代码写的真好,开源之后简直就是iOS菜鸡开发者的福音。自己写起来之后,才发现coding速度真的是慢=。= 问题列表 UITextField有关 自定义UITableViewCell流程 NSUserDefaults基础 dispatch_once 和 static 变量 创建category SHA1加密 2种enum类型 Coding调用API流程 MBProgressHUD基础 keyWindow 文件操作有关 账户输入提示框 enumerateObjectsUsingBlock: 2种UITableViewCell重用方式 NSRange基础 CAShapeLayer基础 显示/隐藏导航栏 ViewController之间切换卡顿 SDWebImageOptions 在category中新增property 用户名存储整个流程 UIAlertController基础 UITextField有关介绍几个UITextField的属性和方法 secu ...
JazzHands
Created2016-02-27|iOS
简介JazzHands, Github上的开源库,非常适用于app的介绍界面。先看看效果图👇👉demo代码在这里👈 主要流程 创建JazzHandsViewController 定义介绍页面的页数 添加图片 定义每张图片的位置 添加滑动时候的效果 实现步骤准备工作 使用cocoapod添加JazzHands pod 'JazzHands', '2.0.8' 创建工程,新增JazzHandsViewController,继承自IFTTTAnimatedPagingScrollViewController 导入头文件 #import <IFTTTJazzHands.h> 定义页面页数其实就是重写 - (NSUInteger)numberOfPages; 函数 添加subView将每张图片封装到UIImageView,并添加到JazzHandsViewController的subView里面关键代码: 定义每张图片位置使用keepView:onPages:或者keepView:onPages:atTimes:定义位置 k ...
2016 Week 1
Created2016-02-27|杂七杂八
开年第一周,准备换个方式写博客。就当周记吧,可以肯定这种模式也是持续不了多久的=。= 开篇2月20号回到武汉;21号回到学校,被基友叫过去看三打白骨精(其实想去看美人鱼来着的…);然后就开始工作了。开学第一周,没啥具体的任务。自己在github上找了Coding_iOS的源码,照着做了起来。来看看第一周碰到的各类问题。 问题列表 状态栏(UIStatusBar)的显示 导航栏(UINavigationBar)的设置 判断iPhone机型 第三方库: JazzHands UIPageControl使用 圆角Button ViewController的两种跳转 UITableView的tableHeaderView和tableFooterView UIActionSheet使用 SDWebImage cache相关 进入正文… 状态栏(UIStatusBar)的显示之前有一篇博客讲到UIStatusBar的设置(iOS导航栏和状态栏设置),这里的是另一种方法–全局设置UIStatusBar。 在.plist文件中,将UIViewControllerBasedStatusBarApp ...
UITableView基础应用
Created2016-01-11|iOS
前言今天介绍一个简单的UITableView,简单的界面,涉及到UITableView的一些基础的DataSource和Delegate。效果图👇 简介最近在跟着github上的一个项目:MyOne-iOS,做着高仿的一个app(韩寒出品),其中的设置界面就需要做到上述的效果。效果图使用了UITableView,它涉及到UITableView基础的DataSource和Delegate。下面我就来分享一下其中代码。 UITableView代码实现UITableView按Section来分成各个区域,其中每个Section又包含一个Header和多个Cell。效果图中一眼看出该UITableView分为4个Section。因此UITableView的代码思路也应该按Section来展开。 UITableView的整体设计所谓整体设计就是设计UITableView的每个Section的共有特性,以及UITableView的DataSource。先来看看DataSource(使用数组来存放): 注意: 这里多设计了一个Section,将在后面解释。 再来设计UITableView的 ...
1…456
avatar
vanney
记录一些生活的点滴
Articles
57
Tags
1
Categories
5
Follow Me
Announcement
This is my Blog
Recent Post
FFmpeg源码调试2023-10-07
重新更新2023-09-27
iOS上使用Cocos2d-x和OpenGL ES绘制凹多边形2018-03-26
ARKit下的魔方2017-12-02
一次秋招2017-12-02
Categories
  • FFmpeg1
  • iOS30
  • server2
  • 杂七杂八9
  • 读书笔记13
Tags
杂七杂八
Archives
  • October 20231
  • September 20231
  • March 20181
  • December 20172
  • July 20174
  • June 20179
  • April 20173
  • March 20175
Info
Article :
57
UV :
PV :
Last Push :
©2020 - 2023 By vanney
Framework Hexo|Theme Butterfly