iOS开发
xj_love
那一夜,我爱上了你。iOS
展开
-
UIAlertController的使用+唤醒相机|相册的使用
@interface ViewController ()<UIActionSheetDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate>@property (nonatomic, strong) UIImageView *chooseView;@property (nonatomic, ...原创 2016-03-02 09:20:54 · 692 阅读 · 0 评论 -
所有iOS设备的屏幕尺寸
方便自己查找,不用每次都不去搜一遍iPad 1 — 1024x768 iPad 2 — 1024x768 The New iPad — 2048x1536 iPad mini — 1024x768 iPad 4 — 2048x1536 iPad Air — 2048x1536 iPad mini 2 — 2048x1536 iPad Air 2 — 2048x1536 iPad mi原创 2017-08-14 09:11:31 · 598 阅读 · 0 评论 -
iOS数据库框架 WCDB的使用详解
WCDB是一个高效、完整、易用的移动数据库框架,基于SQLCipher,支持iOS, macOS和Android。前几年的项目用到的数据库框架,都是FMDB。从最初的摸索到工具类的封装,也是经历了一番坎坷。FMDB每次写SQL语句时,都要拼接一大坨胶水代码,着实恶心。期间接受过一个模块,是做原生聊天的,对于消息并发、接收、展示,上一任都频繁的使用数据库的增删改查。导致聊天多、快时,严重消耗CPU原创 2017-12-14 15:59:38 · 3566 阅读 · 1 评论 -
WKWebView关于Cookie的使用详解
引言近期有个小应用大部分功能是用web页面实现的。为了提高交互体验,加载速度,所有页面都是WKWebView实现。前期实现直到上架测试,都是美滋滋的实现了。直到测试发现,某些情况下,web页面请求数据会返回登录过期,重新登录都不行。后来发现是Cookie没有正确注入。之前webview系统会自动管理Cookie注入,WKWebView需要手动注入。如果网上能随便度娘到解决Cookie注入的方...原创 2018-06-04 14:36:46 · 5813 阅读 · 0 评论 -
iOS 完美解决竖屏项目,个别控制器横屏,反之亦然
引言一开始试了网上大部分的方法,都没什么用,包括什么强制横屏啥的,特别控制器写了基类的。还要注意在横屏状态下打开APP,看app会不会横屏这样的。使用把我下面的方法放在基类控制器,如果导航栏也有基类,也可以一起放进去。#pragma mark - 默认竖屏 有横屏操作时,presentViewController进入,并实现第二,三个方法。- (BOOL)shouldAuto...原创 2018-06-07 11:54:06 · 1268 阅读 · 0 评论 -
UICollectionViewCell点击高亮完美解决方案
#pragma mark - collectionView点击高亮- (void)collectionView:(UICollectionView *)collectionView didHighlightItemAtIndexPath:(NSIndexPath *)indexPath{ UICollectionViewCell *cell = [collectionView cell...原创 2018-06-27 11:52:53 · 5296 阅读 · 0 评论 -
iOS第三方支付集成-微信支付
序言:说来惭愧,终于有支付的需求给我做了。。。哇嘎嘎,开动。。。文章尽量写的详细点,从自身出发,希望能给大家一点帮助。欢迎大佬指正。 支付流程: 步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。 步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。 步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为ap...原创 2018-09-08 17:45:01 · 2681 阅读 · 0 评论 -
iOS关键字之nullable、nonnull、null_resettable、_Null_unspecified的区别
iOS9.0系统很多方法和属性,多了新的关键词修饰,下面我们来研究一下它们之间的区别。一 共同点1.可以进行代码规范,减少开发沟通成本,一看便知怎么赋值 2.只能用于对象声明,不能声明基本数据类型,因为只有对象才能置为nil二 不同点1.nullable,表示属性可以为空使用方法:@property (nonatomic, copy, nullable) NSStri...原创 2018-09-08 21:51:37 · 946 阅读 · 0 评论 -
iOS第三方支付集成-踩坑处理合集
问题一 iOS9以后,微信/支付宝支付成功后点击左上角的返回也能返回到app,但是会收不到微信/支付宝的回调信息。解决办法: 在支付页面监听UIApplicationDidBecomeActiveNotification,当监听到返回app的事件后,主动请求服务端,如果发现order已经支付,则主动跳转。问题二 导入微信SDK,编译报错解决方案: 导入这三个文件 问题...原创 2018-09-10 13:33:16 · 2177 阅读 · 0 评论 -
iOS第三方支付集成-支付宝支付
吐槽一下支付宝的文档和demo,文档真是找的我眼花缭乱,demo写的也是看的捉急,没有微信的简单明了。不过全部找到后,静下心来研究,也还是可以的。一 进入官方下Demo,看文档工欲善其事必先利其器,先看下demo总不是坏处,也可以学习一下支付宝大佬编码风格。除了不好找之外,其它还是你可以的。 支付宝支付demo下载 支付宝支付iOS集成文档 支付宝支付通知参数说明二 正式...原创 2018-09-10 14:20:44 · 2071 阅读 · 0 评论 -
cocoPods的使用
一、概要iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库。二、安装由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下:注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby环境1、Ruby环境搭建Mac OS本身自带转载 2016-02-23 21:33:42 · 595 阅读 · 0 评论 -
(一)iOS开发--电子书模块的设计制作
一.引言从今天开始,在我的博客上开辟工作项目专栏,来总结记录项目中的开发难点。第一篇记录的是电子书模块。二.项目需求一级界面:1.侧滑菜单、2.书籍列表、3.上拉加载 二级界面:1.头部书籍信息、2.书籍简介、3.评价列表、4.评价功能(弹出评价界面)5.底部下载/阅读功能 下载管理界面:1.下载的书籍信息、2.可侧滑删除 阅读界面:1.电子书自适应大小(pdf文件)、2.翻页 、3.记录页三原创 2016-06-06 13:37:20 · 6060 阅读 · 2 评论 -
iOS百度地图API的使用
(一)、开发前准备工作: <1.开发者可在百度地图iOS SDK的下载页面下载到最新版的地图SDK,下载地址为:http://developer.baidu.com/map/index.php?title=iossdk/sdkiosdev-download<2.用户在使用SDK之前需要获取百度地图移动版开发密钥(Key),该key与你的百度账户相关联。您必须先有百度帐户,才能获得key。并且,该k原创 2016-02-23 21:26:04 · 2505 阅读 · 0 评论 -
iOS 打印个个页面的控制器
解决方案 方案1 整个项目中建立一个基类的viewController,然后将项目中所有的viewController都继承于基类的viewController,然后重写基类中的viewWillAppear方法 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; NSString原创 2016-10-19 16:31:36 · 367 阅读 · 0 评论 -
iOS 百度地图在房地产项目中的应用
1.公司的项目是面向房地产的,包含新房(全国多个分公司),存租房(与建行建方的合作)项目,所以地图与看房相结合比较多,之前为了进度,地图这一块的业务都是H5实现,现在稳定下来后,H5的体验度不是很高,所以地图这一块全部换成原生。这篇文章也是做个探索和总结,以便大家一起参考学习。2.地图采用百度地图,主要功能包括:定位+替换大头针图标,两点连线采用自定义图片样式,导航,标注,自定义标注UI,点击...原创 2018-11-02 12:32:58 · 1256 阅读 · 1 评论 -
iOS项目开发笔记
延伸知识 1.学习YYKit框架 2.学习Swift 3.学习LinPhoneUITableViewController 1、不让cell点击 cell.selectionStyle = UITableViewCellSelectionStyleNone; 2、UITextField 1.文字向下偏移,目测Xib下设置了无边框模式。可以在Xib先设置其它边框模式,再用代码重新原创 2017-05-18 18:09:39 · 508 阅读 · 0 评论 -
iOS 获取日志框架CocoaLumberjack
笔者应老板要求,需要时时获取用户使用软件的一些信息。 这里有参考文章,已经写得很全了。简书链接原创 2017-04-20 09:46:26 · 1182 阅读 · 2 评论 -
iOS Xcode AppDelegate.m中方法的介绍
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { <1.整个程序加载完成调用这个方法。/*写一个案例:当程序将要进入后台时,有时候为了保密效果,在应用程序上加一层覆盖的效果来遮挡重要数据; ...原创 2016-02-23 17:15:09 · 1586 阅读 · 0 评论 -
如何锁定Xcode中的API头文件
1, 打开终端2, 前往Xcode.app, 命令: cd /Applications/Xcode.app3, 把头文件修改为只读, 命令: sudo chown -hR root:wheel Contents原创 2016-02-23 17:41:30 · 1358 阅读 · 0 评论 -
iOS解决tableviewCell的分割线不贴边的问题
在做项目中,自定义cell的时候,分割线离左边大概有15分距离。除非让分割线UITableViewCellSeparatorStyleNone,然后自定义一条线。现在,如果想用系统自带的分割线。那么,下面就是解决分割线不贴边的方法,直接复制代码就行,不用纠结别的。在初始化tableView的时候复制这段代码。if ([self.tableView respondsToSelector:@select原创 2016-06-22 10:01:58 · 1548 阅读 · 0 评论 -
WKWebView的使用详解
一.引言应公司要求,把项目里用到的UIWebView全都用WKWebView替换掉。于是本人就去研究了WKWebview,加上在使用中遇到的一些问题加以总结,就写下这篇博文。如有不足的地方,还望留言指教。二.WKWebView使用流程1.首先你需要导入的头文件#import <WebKit/WebKit.h> 2.初始化:webView = [[WKWebView alloc] initWithF原创 2016-07-29 11:14:32 · 23573 阅读 · 1 评论 -
iOS 如何获取字符串所需的高度
CGSize size = [@“你的字符串” boundingRectWithSize:CGSizeMake(300, 1000) options: NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeNa原创 2016-08-02 09:48:33 · 478 阅读 · 0 评论 -
Xcode常用快捷键
Xcode常用快捷键原创 2016-08-23 16:58:45 · 261 阅读 · 0 评论 -
iOS 改变字符串其中一段字体和颜色
NSMutableAttributedString *textColor = [[NSMutableAttributedString alloc]initWithString:_bookPrice.text]; NSRange rangel = [[textColor string] rangeOfString:[_bookPrice.text substringFromIndex:6]];原创 2016-08-12 15:33:46 · 8448 阅读 · 0 评论 -
iOS 视屏播放软件(AVPlayer)
已经封装好,一句代码就能使用视屏播放。 点这里下载,记得给个Star原创 2016-09-06 17:23:52 · 28299 阅读 · 0 评论 -
iOS应用中打开另一个应用
最近要在iOS中实现一个应用启动另外一个应用的功能,搜了一些资料,使用UIApplication的openURL:的方法就能实现,现在整理和大家分享一下!一、注册自定义URL协议 首先被启动的应用需要向iPhone注册一个自定义URL协议。这是在你的项目文件夹的info.plist文件进行的(就是你改变应用程序图标的同一个文件)。 Step1. 右键,选择“Add Row”Step2. Key值原创 2016-08-31 09:49:05 · 677 阅读 · 1 评论 -
iOS 在View里push或者presentViewController
通常使用self.navgationController是在Viewcontroller里面调用的,但是有的时候需要在view上也需要调用push或者present推出新的页面的方法,那么可以使用以下三种。 1、block方法。 2、代理方法。 3、获取该View所在的Viewcontroller。【这个也是我要说的方法】//获取View所在的Viewcontroller方法 - (UIVi原创 2016-11-09 17:16:34 · 1044 阅读 · 0 评论 -
MasonryGitHub上的官方使用教程翻译
Masonry仍旧在持续维护中,借助于开放社区,我们致力于修复漏洞和合并优秀的需求。然而你的项目是用Swift语言的,我们推荐使用SnapKit,因为它有着更简短的API来更好适应Swift. Masonry是一种轻量级的布局框架,采用了更良好的语言来封装AutoLayout。Masonry有自己的布局DSL,提供了一种链式方式来描述你的NSLayoutConstraints,通过这种方式产生的布原创 2016-12-16 09:17:16 · 806 阅读 · 0 评论 -
Masonry学习总结
公司一直用的代码(自己封装的一套约束工具)和xlb(autoLayout)相结合的方式来对控件进行布局和约束。本人更倾向于用纯代码布局。虽然公司封装了一套代码布局的方法,但为了更好适应其它的工作,决定开始学习使用Masonry。并记录学习的心得,与大家共享。一.基础篇1.Masonry下载地址下载地址。也可以用cocoaPods来管理。2.正式开始 在.pch文件添加以下代码//define th原创 2016-12-16 09:14:45 · 353 阅读 · 0 评论 -
iOS 如何实现UIWebView的缓存
NSURLRequestCachePolicy policy; if ([MANAGER_UTIL isEnableNetWork]) { policy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData; }else { policy = NSURLRequestReturnCacheDataDon原创 2016-12-16 17:01:54 · 952 阅读 · 0 评论 -
iOS三种初始化加载tableViewCell的方法
1.自定义cell,不用xib 2.自定义cell,用xib 或者 3.不自定义cell原创 2016-12-22 15:18:25 · 4057 阅读 · 0 评论 -
iOS UITextView限制输入字数的方法
pragma mark - textView代理方法(BOOL)textView:(UITextView )textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString )text{ if ([text isEqualToString:@”\n”]) { [textView resignFirstRe原创 2017-04-17 16:54:52 · 1487 阅读 · 0 评论 -
iOS AFNETWorkIng的封装类
#import "HttpsManager.h" @implementation HttpsManager #pragma mark - 创建请求者 +(AFHTTPSessionManager *)manager { AFHTTPSessionManager *manager = [AFHTTPSessionManager mana原创 2017-04-19 15:43:25 · 1312 阅读 · 0 评论 -
新建工程上传项目到Github
写了好的东西,想和大家分享。主流平台就是GitHub.下面记录下上传过程。一.创建打开Mac终端命令1.cd 到需要上传的工程文件夹下2.输入git init 这个意思是在当前项目的目录中生成本地的git管理(会发现在当前目录下多了一个.git文件夹)3.输入git add . 这个是将项目上所有的文件添加到仓库中的意思,如果想添加某个特定的文件,只需把.换成这个特定的文件名即可...原创 2019-04-22 16:06:55 · 241 阅读 · 0 评论