![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IOS基础记
Quinn士魁
90后、公司上海、目前工作在北京,熟悉Swift、Objective-C,了解H5。
目前共参与开发过5款IOS端APP;包含直播Live功能、单词游戏功能、视频录制功能、视频滤镜后期处功能、物流管理功能、购物功能;积累了GPUImage图形及音视频处理、数据库存储、UI、多线程、数据解析、性能优化等经验。
接下来会继续深入GPUImage、OpenGL ES、H5等方面的学习研究;希望有共同爱好的人一起探讨、相互学习。邮箱 xoxo_X@126.com、QuinnX@126.com
展开
-
iOS沙盒路径的文件的存放问题
原创 2019-05-16 09:51:04 · 524 阅读 · 0 评论 -
iOS开发UINavigation——导航控制器UINavigationController
iOS开发UINavigation——导航控制器UINavigationController 一、引言 iOS开发UINavigation——导航控制器UINavigationController二、导航控制器的创建和controller的管理 导航控制器是一个堆栈结构,只是其中管理的对象是controller,通过push与pop进行controller的切换,我们有两种方式可以创原创 2017-01-16 17:52:43 · 623 阅读 · 0 评论 -
线程之网络请求的封装
http://www.jianshu.com/p/b22b9ddfa9c0原创 2016-12-01 13:59:57 · 357 阅读 · 0 评论 -
swift - 字符串的安插、删除和替换
对应可变字符串可以插入、删除和替换,String提供了几个方法可以帮助实现这些操作。这些方法如下:splice(_:atIndex:)。在索引位置插入字符串。insert(_:atIndex:)。在索引位置插入字符。removeAtIndex(_:)。在索引位置删除字符。removeRange(_:)。删除指定范围内的字符串。replaceRange(_:,with: String) 。使用原创 2016-12-02 09:55:31 · 3773 阅读 · 0 评论 -
将图片保存到本地
将图片保存到本地传入图片 以及图片的名字- (void)writeImage:(UIImage *)imageToWrite toFile:(NSString *)fileName;{ if (imageToWrite == nil) { return; }//转成NSData类型 NSData *dataForPNGFile = UIImageP原创 2016-12-08 14:37:49 · 1279 阅读 · 0 评论 -
Xcode 删除PP文件
~/Library/MobileDevice/Provisioning Profiles原创 2017-06-05 10:55:15 · 1508 阅读 · 0 评论 -
iOS SDWebImage
01 设置imageView的图片[cell.imageView sd_setImageWithURL:[NSURL URLWithString:app.icon] placeholderImage:[UIImage imageNamed:@"placehoder"]];02 设置图片并计算下载进度//下载并设置图片 /* 第一个参数:要下载图片的url地址 第二个参数:原创 2017-04-18 10:11:08 · 465 阅读 · 0 评论 -
iOS SDWebImage二:清除缓存
图片缓存的清空一般使用SDWebImage 进行图片的显示和缓存,一般缓存的内容比较多了就需要进行清空缓存清除SDWebImage的内存和硬盘时,可以同时清除session 和 cookie的缓存。// 清理内存[[SDImageCache sharedImageCache] clearMemory];// 清理webview 缓存NSHTTPCookieStorage *storage = [原创 2017-04-18 10:14:08 · 1179 阅读 · 0 评论 -
iOS调用系统功能
在iOS开发过程中,有时我们想在应用内实现打电话、发短信、打开Safari浏览器功能,具体常用功能如下:调用打电话功能(此种方法会直接进行拨打电话,电话结束后会留在电话界面)if ([[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://185XXXX0496"]]){ [[UIApplication s原创 2016-12-20 17:29:21 · 473 阅读 · 0 评论 -
iOS中的URL Scheme
iOS中的URL Scheme 在iOS的SDK中提供了一个非常有意思的功能,它能将iOS的Application同自定义的URL Schema绑定,同时可以通过URL Scheme在浏览器或者是其他应用中启动这个Application。本文主要介绍如何通过URL Scheme的方式启动应用和参数的传递。 对应的源码配置文件为:<key>CFBundleURLTypes</key>原创 2017-01-16 20:56:48 · 886 阅读 · 0 评论 -
iOS KVO模式简解
KVO模式 - 什么是KVO?KVO是Key-Value Observing的简称,翻译成中文就是键值观察实现机制为,为可能改变的数据增加一个观察者,在上面的说法中这个观察者就是controller,它去观察这个数据有没有发生变化,一旦发生变化,就会得到一个信号**实现步骤:**第一步:设置键值对即–K–V–第二步:为controller添加观察者,用于观察键值对变化第三步:延迟一秒执行,改变age原创 2017-02-19 22:09:04 · 428 阅读 · 0 评论 -
Swift教程
如果你以Objective-C为基础,进行学习Swift,本教程会起到事半功倍的效果,如果你没有编程的基础,那么本教程不适合你,请节省时间 本教程也非书籍一般,按部就班的学习,而是将一些Swift需要的技能,常用的知识点介绍给大家本教程包含知识点如下:类型转化变量、常量声明循环的使用(for 、do while)switch的使用Block的用法代理的用法类的声明tableview原创 2016-10-10 23:39:39 · 947 阅读 · 0 评论 -
iOS 阿拉伯数字转汉字
formatter.stringFromNumber(lessonId)!let formatter = NSNumberFormatter() formatter.numberStyle = NSNumberFormatterStyle.SpellOutStyle self.navgationBarTitle.text = "第\(formatter.stringF原创 2017-06-19 18:19:35 · 737 阅读 · 0 评论 -
ios 修改UITableView的section之间的距离
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat{ if section == 0 { return 0 }else{ return 5 } } func tab原创 2017-01-16 17:25:31 · 959 阅读 · 0 评论 -
xcode快捷键
xcode快捷键原创 2017-01-12 11:15:13 · 440 阅读 · 0 评论 -
iOS 词汇表,术语,转自 Apple Developer
https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/GlossaryDefinitions.html#//apple_ref/doc/uid/TP40015214-CH12-SW1 action A piece of code t...转载 2018-11-19 11:24:32 · 582 阅读 · 0 评论 -
iOS10 plist文件常用key值
iOS10 plist文件常用key值 : xoxo_x著在iOS10 开发真机测试中使用camera 或 recoder时 经常报错:This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must co原创 2017-02-23 21:17:57 · 1346 阅读 · 0 评论 -
iOS 开发中的关键字const/static/extern
点击到原文地址 图片来源网络一、前言阅读别人的代码(一些优秀的源码)总能发现一些常见的关键字,随着编程经验的积累大部分还是知道是什么意思的,但在概念上和具体的用法上却依然有些模糊,故特意整理汇总了下三个比较常见的关键字——const/static/extern。二、关键字const/static/extern的释义和用法 1、const这个单词翻译成中文是“转载 2017-07-17 11:16:25 · 681 阅读 · 0 评论 -
iOS UICollectionView笔记
关于UICollectionView的使用方法本文介绍关于如何使用StoryBoard与代码结合开发关于布局: var collectionLayout = UICollectionViewFlowLayout()func setFlowLayout() {//cell大小collectionLayout.itemSize = CGSizeMake((screen_width - 41 )/原创 2017-02-19 20:55:37 · 511 阅读 · 0 评论 -
ios上 更改 状态栏(UIStatusBar)的颜色
UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.Default, animated: true)-默认的黑色(UIStatusBarStyleDefault) -白色(UIStatusBarStyleLightContent)原创 2016-12-08 16:17:41 · 375 阅读 · 0 评论 -
导航栏之自定义按钮
我们知道navigation item 有leftBarButtonItems和rightBarButtonItems两个属性,每个属性都可以赋值一个装有UIBarButtonItem对象的数组func setNav() { self.navigationController?.navigationBar.barTintColor = UIColor.greenColor()原创 2016-12-14 18:45:49 · 626 阅读 · 0 评论 -
UITableView的section header view悬停和取消的方法
1.悬停将tableview的style类型改为plain2.取消悬停将tableview的style类型改为grouped原创 2016-12-16 14:05:34 · 3317 阅读 · 0 评论 -
分组:UITableView header 以及section header 用法
如图:UITableView的section header view悬停和取消的方法第一种section组头不悬停 第二种section组头悬停代码//section 组头 func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { if section == 0原创 2016-12-16 14:29:59 · 1985 阅读 · 0 评论 -
UINavigationBar 透明设置对 frame 的影响
问题描述:从 iOS7 之后,所有的 UINavigationBar 默认都是透明的了,同时 View Controller 全部都使用全屏的 layout当导航栏为透明属性的时候:我们在self.view中添加视图,他会从屏幕左上角(0,0)开始,而不是从(0,64)开始,因此,我们的视图会发生混乱,这时候,我们有两个解决办法:1.将导航栏设为不透明的2.viewdidload中加上这行代码sel原创 2016-12-17 15:02:58 · 710 阅读 · 0 评论 -
UITableView编辑模式
遇到一篇非常好的文章,忍不住要保留下来https://segmentfault.com/a/1190000004192662UITableView 编辑模式详解UITableView的相关编辑操作非常全,今天我们来做一个总结。跟编辑相关的属性和接口有如下,我们一个一个分析,我们先认真阅读一下相关头文件,我根据意思大概翻译了一下注释。属性方法@property (nonatomic, getter=i转载 2016-12-20 11:05:38 · 512 阅读 · 0 评论 -
swift cell中的model
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)原创 2017-01-03 11:52:26 · 783 阅读 · 0 评论 -
swift 2.2 alert
let alertController = UIAlertController(title: “提示”, message: “确定修改为默认地址?”, preferredStyle:.Alert) let cancelAction = UIAlertAction(title: "取消", style:.Cancel , handler: nil) let okActio原创 2017-01-09 10:57:30 · 326 阅读 · 0 评论 -
UITableViewCell的选中时的颜色
2016.12.08更新 实测可用UITableView 详解:http://blog.csdn.net/xoxo_x/article/details/52945274开发工具之颜色图片相互转换:http://blog.csdn.net/xoxo_x/article/details/53352189GPUImage之图片滤镜:http://blog.csdn.net/xoxo_x/article/d原创 2016-12-08 11:27:55 · 531 阅读 · 0 评论 -
swift 自定义(超简单)上拉加载(gif动画)
针对swift 2.0 使用上拉加载,通常用于tableview,或者collectionview等继承scrollview的视图实现上拉加载,思路非常简单,就是判断,当前的视图的容量与当前的currentOffset的关系。 精确点就是:offset.y + bounds.size.height - inset.bottom 与 size.height的关系其具体为:var offset =原创 2016-09-18 13:18:06 · 1709 阅读 · 0 评论 -
ios objective-c 调swift方法
1、局部方法 例如: 在AbcSwift.swift中import Alamofireimport Foundationimport RealmSwiftclass AlamofireRequest:NSObject { func getCurrentUserId() -> (String) { init(parameters:String){ }原创 2016-08-19 19:56:29 · 707 阅读 · 0 评论 -
iOS 全屏截图
保存全屏为imageCGSize imageSize = [[UIScreen mainScreen] bounds].size;UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0);CGContextRef context = UIGraphicsGetCurrentContext();for (UIWindow * window i原创 2017-04-18 10:12:12 · 843 阅读 · 0 评论 -
iOS 检查摄像头授权和麦克风授权
if AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeVideo) != AVAuthorizationStatus.Authorized{ showAlert("请前往设置\n进行摄像头授权", button: "确定") }if AVCaptureDevice.authorizatio原创 2017-04-20 10:14:42 · 3540 阅读 · 0 评论 -
iOS 视频文件和图片文件缓存路径
let name = currentTimeStamp() + ".mp4"let temporaryFile = (NSTemporaryDirectory() as NSString).stringByAppendingPathComponent(name) movieURL = NSURL(fileURLWithPath: temporaryFile)原创 2017-05-03 11:13:22 · 3254 阅读 · 0 评论 -
iOS Label、TextView等高度自计算
sizeThatFits typeTwoCellHeaderLabel.text = "短语:\n英国保赔协会 UKP and I Club;\n英国彼得郡(斑红色)砖 fletton;\n英国病 English disease; \nEnglish sickness (指存在多种劳工问题);\n英国(工业)标准 BS (British Standard);\n英国标准磅 {原创 2017-06-14 18:36:18 · 755 阅读 · 0 评论 -
iOS 切特定圆角
iOS 切特定圆角 let maskPath = UIBezierPath.init(roundedRect: typeTwoCellHeader.bounds, byRoundingCorners: [UIRectCorner.TopLeft , UIRectCorner.TopRight], cornerRadii: CGSizeMake(20, 20)) let原创 2017-06-15 16:51:23 · 663 阅读 · 0 评论 -
iOS 获取控件所在cell的indexPath值
通过以下方法可获取cell的位置,并进行刷新,节省reloadDate性能let position: CGPoint = sender.convertPoint(CGPointZero, toView: self.tableview) if let indexPath = self.tableview.indexPathForRowAtPoint(position)原创 2017-06-19 17:37:08 · 1755 阅读 · 0 评论 -
iOS NSURLConnection基础网络请求封装
现在NSURLConnection在开发中会使用的越来越少,iOS9已经将NSURLConnection废弃,现在最低版本一般适配iOS7,所以也可以使用。原创 2017-02-21 00:41:50 · 527 阅读 · 0 评论 -
swift 字符串与NSDate相互转换
let formatter:NSDateFormatter = NSDateFormatter() // 设置时区,不设置时默认的时区是系统时区(GMT+8) formatter.timeZone = NSTimeZone(forSecondsFromGMT: 0) // 加入一些别的英文字符串时,需用单引号来引入 formatter.dateFormat = "yyyy原创 2017-03-21 19:46:21 · 1193 阅读 · 0 评论 -
iOS 设置App的名称
无关技术、包含app上架常用知识在plist文件中添加Bundle display name修改后,就可以了、譬如:app名字 : 全民打飞机原创 2017-03-09 10:23:51 · 805 阅读 · 0 评论 -
swift 比较日期大小
let formatter = NSDateFormatter() formatter.dateFormat = "yyyy/MM/dd" let date = formatter.stringFromDate(self.dateView.selectedDate) var date1=NSDate() var date2=NSDate(原创 2017-03-21 18:05:13 · 4396 阅读 · 0 评论