iOS开发
文章平均质量分 70
陶大海888
换一个角度,换一种心情
展开
-
iOS 微信支付 开发流程
这个文章写的 比较不错 借此转发。 SDK下载:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1APP端开发步骤说明:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_5SDK接入服务器签名版本官方已经转载 2017-12-07 15:32:46 · 792 阅读 · 0 评论 -
AFNetworking 3 批量上传图片的 3 种方法
AFNetworking 在去年年底升级到了 3.0。这个版本更新想必有很多好处,然而让我吃惊的是,它并没有 batch request 接口。之前的 1.x 版本、2.x 版本都实现了这个很常见的需求,不知道作者为何选择在 3.x 中去掉它。在 AFNetworking 2 中,我们只需一行代码就能解决批量上传的问题:[AFURLConnectionOperation batchOf转载 2016-11-03 13:53:19 · 923 阅读 · 0 评论 -
简单抽屉效果,初学者请入内
基本实现思路如下: 先在控制器创建好想要弹出的自定义View,其位置放到屏幕 边界之外即可。(看不到就行),点击按钮后将方才的View的frame修成到屏幕可见位置,调用UIView动画使得过度自然即可。效果图如下,同时我们需要实现弹出后最左边的六分之一左右的变暗的效果(通过改变UIView透明度来实现)以及点击变暗区域将抽屉关闭的功能。这时我们需要借助点击手势UITapGest原创 2016-10-21 09:08:46 · 1521 阅读 · 0 评论 -
对iOS图片保护的理解
方法一:- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是不拉伸区域和左边框的宽度,第二个参数是不拉伸区域和上边框原创 2016-05-04 11:25:08 · 805 阅读 · 0 评论 -
iOS开发之AFNetworking 3.0.4使用
iOS开发之AFNetworking 3.0.4使用使用Cocoapods导入AFN做POST的时候,导入的最新版的3.0.4,突然发现找不到AFHTTPRequestOperationManager了。。。上github上一看,发现没有这个了。刚开始以为是cocoapods没有给我导进去,因为是小demo,就想自己写一个网络请求的,发现也没有这NSURLConnection了,被弃用了,突然转载 2016-04-19 15:57:11 · 875 阅读 · 0 评论 -
Background Modes in iOS Tutorial
Learn how to make your app do stuff even when it is no longer activeBeginning with iOS 4, you can design your apps to stay suspended in memory when users push the home button. Even though the app翻译 2016-05-26 17:14:05 · 750 阅读 · 0 评论 -
自定义button布局
先看图,众所周知,一个button上面有一个imageview和一个titleLabel,有时候我们需要根据需求及美观来改变他们的排布,以上就是两种最常见的排布做法如下:首先创建一个继承自UIButton的类,并且做基本的初始化设置#import @interface CustomButton : UIButton@end- (instanc原创 2016-02-18 16:00:58 · 3491 阅读 · 0 评论 -
自定义UIBarButtonItem
//单个自定义按钮UIButton *button =[UIButton buttonWithType:UIButtonTypeCustom]; button.frame =CGRectMake(0, 0, 50, 50); UIBarButtonItem*Button = [[UIBarButtonItem alloc] initWithCustomView:button];原创 2016-01-05 10:23:05 · 817 阅读 · 0 评论 -
将一个数组里面所有的元素按要求的间隔符号拼接
将给定数组里所有元素拼接成一字符串,比如用“*”符号做间隔,最终效果是s*h*g*dNSArray *array = @[@"s",@"h",@"g",@"d"];//方法一:通过拼接可变字符串的方法NSMutableString *str = [[NSMutableStringalloc]initWithCapacity:1]; for (i原创 2016-03-07 15:05:41 · 3177 阅读 · 0 评论 -
2016年末闲谈iOS开发的未来
好多人都会问iOS开发的前景这样的问题,移动开发者的未来Swift怎么样Swift很好,就像你的前女友一样好。得益于swift的开源,以及苹果的号召力,swift发展的很好。已经得到了广大开发者的一致认可。苹果自己也很重视,新的一些lib和app已经用swift编写。国外大厂比如Uber、LinkedIn转载 2016-10-31 10:32:03 · 792 阅读 · 0 评论 -
AFNetworking 3.0迁移简介
AFNetworking 3.0AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您完成这个过程。转载 2016-04-19 16:04:02 · 373 阅读 · 0 评论 -
层叠选择框的实现(实现方法参照本博客的下拉列表)
如下图,这种点击可以展开详细列表的表视图,下面阐释一种简单的实现方法:实现思路如下:A.首先,给表视图初始化N个分区,给每个分区用一个布尔值参数来判断该分区是否需要展开详细列表,初始的时候,每个分区返回的cell个数是0,即不展开。- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfI原创 2016-10-21 09:22:39 · 792 阅读 · 0 评论 -
iOS 开发是否要采用 React Native?
前言React Native 是 Facebook 2015年开源的 Javascript 框架,旨在使用 Javascript 高效开发手机端 App。配合着多个显而易见的优势和 Facebook 强大的宣传机器,它立刻成为国内外大小公司的明星开发框架。开源社区的参与激情、各方博客的宣传追捧,从其 Github 上 56000+ 星和 13000+ Fork 就可见一斑。对于 React Nati转载 2017-12-06 10:39:15 · 580 阅读 · 0 评论 -
iso马甲包是什么意思?如何制作上传
马甲包的字面意思给产品穿马甲,但是我认为马甲包更像是产品的一种分身,一种和产品一样拥有灵魂,拥有肉身的一种分身。它能为产品带来同样的功能效果。iso马甲包是什么意思?如何制作上传 如图所示,喜马拉雅马甲包一、什么是马甲包马甲包是利用App store 规则漏洞,通过技术手段,多次上架同一款产品的方法。马甲包和主产品包拥有同样的内容和功能,除了icon和应用名称不转载 2017-12-05 14:27:47 · 30311 阅读 · 7 评论 -
OC与JS交互之WKWebView
上一篇文章我们使用了JavaScriptCore框架重写了之前的示例,iOS8苹果偏爱HTML5,重构了UIWebVIew,给我们带来了WKWebView,使其性能、稳定性、功能大幅度提升,也更好的支持了HTML5的新特性。这篇文章就们就拿WKWebView来小试牛刀 一、WKWebView FrameworkWKWebView的14个类与3个协议: WKBackFor转载 2017-11-22 13:44:34 · 5738 阅读 · 0 评论 -
OC与JS交互之JavaScriptCore
JavaScriptCore提供了JavaScript和Objective-C桥接的Obj-C API。JavaScriptCore提供了让我们脱离UIWebView执行JavaScript脚本的能力,以及使用现代的Objective-C语法(例如Blocks和下标)在Objective-C和JavaScript之间无缝的传递值或者对象。借助JavaScriptCore,我们只需要很少的代码就可以转载 2017-11-22 13:36:50 · 264 阅读 · 0 评论 -
OC与JS交互之WebViewJavascriptBridge
上一篇文章介绍了通过UIWebView实现了OC与JS交互的可能性及实现的原理,并且简单的实现了一个小的示例DEMO,当然也有一部分遗留问题,使用原生实现过程比较繁琐,代码难以维护。这篇文章主要介绍下开源库WebViewJavascriptBridge的实现原理和使用方法,并用此开源库重写之前的示例,同样,本文的示例代码我会在文章后面给出欢迎star 我们在上一篇文章结尾处简要转载 2017-11-21 15:16:08 · 746 阅读 · 0 评论 -
OC与JS交互之UIWebView
随着H5的强大,hybrid app已经成为当前互联网的大方向,单纯的native app和web app在某些方面显得就很劣势。关于H5的发展史,这里有一篇文章推荐给大家,今天我们来学习最基础的基于iOS系统的OC与JS之间是如何进行交互的,本文介绍的是基于UIWebView"协议拦截"实现的交互方式,当然后面还会循序渐进的介绍其他的交互方式。这里的说到的JS指的是广义上JS,并不是单纯的jav转载 2017-11-21 15:07:41 · 280 阅读 · 0 评论 -
React Native 从入门到原理
[http://www.jianshu.com/p/2ec61e2c00cb]适合有iOS基础的同学学习React Native 是最近非常火的一个话题,介绍如何利用 React Native 进行开发的文章和书籍多如牛毛,但面向入门水平并介绍它工作原理的文章却寥寥无几。本文分为两个部分:上半部分用通俗的语言解释了相关的名词,重点介绍 React Native转载 2017-01-31 20:38:08 · 665 阅读 · 0 评论 -
Attempting to load the view of a view controller while it is deallocating is not allowed and may res
UISearchController Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behaviorAttempting to load the view of a view contro转载 2016-12-07 09:46:09 · 3365 阅读 · 0 评论 -
缩放图片代码
- ( UIImage *)imageWithImageSimple:( UIImage *)image scaledToSize:( CGSize )newSize{ // Create a graphics image context // 创建一个bitmap的context //原创 2016-05-26 15:09:45 · 504 阅读 · 0 评论 -
如何给tableviewcell加3D旋转动画
常用的3D动画类型同仿射变化一样有旋转平移缩放,如下: CATransform3DMakeScale(0.5, 0.5, 1.0); //x,y,z放大缩小倍数 CATransform3DMakeRotation(1.57, 1, 1, 0); //1.57表示所转角度的弧度 = 90Pi/180 = 90*3.14/180CATransform3DMakeTransla原创 2016-04-28 11:26:45 · 1565 阅读 · 0 评论 -
UIWebView的前进和后退功能
UIWebView可以像手机浏览器一样实现前进,后退,重新载入,取消加载的功能1.首先创建UIWebView _webView =[[UIWebViewalloc]initWithFrame:CGRectMake(0,0, 375,300)]; _webView.scalesPageToFit =YES;//自动对页面进行缩放以适应屏幕原创 2016-01-30 16:45:10 · 3553 阅读 · 0 评论 -
用UILabel封装自定义柱状图
原理:给自定义的View类两个数组类型的参数,一个存年份,一个存收入,并且传入参数添加手势。在外面调用的时候只需要传入两个数组即可。核心算法:以数组形式传入的年份依次赋给UILabel,以数组形式传入的收入来计算柱条的高度,这里关键是需要计算柱条的起点纵坐标即可y(起点纵坐标)=frame.size.height-50 - num*(frame.size.height-50)/2000原创 2016-01-11 16:57:46 · 507 阅读 · 0 评论 -
点击tabbaritem时出现过度动画
首先创建UITabBarController,单独写成一个类或者直接在appdelegate里面创建都可以 a)遵守协议UITabBarControllerDelegate> b)设置代理tabbar.delegate =self;c)实现UITabBarControllerDelegate代理方法,这里使用了大家熟悉的CATrabsition动画原创 2016-01-06 15:56:30 · 2447 阅读 · 3 评论 -
简易自定义seg与tableview联动布局
//第一步:首先我们需要一个自定义的UISegmentControl,通过一个view上添加一排自定义的UILabel来实现a.自定义的label,具有缩放功能,点击效果是变色并且字体颜色改变@interface hglable : UILabel@property (nonatomic,assign)CGFloat scale;- (insta原创 2016-01-06 13:45:47 · 1270 阅读 · 1 评论 -
简易轮播文字的封装(流动字幕)
大体思路:1.首先明确一点,我们是用一个继承自UIScrollView的类来实现字幕的滚动播放效果2.在UIScrollView上放置一个和他一样大小的UILabel用来显示文字3.用一个计时器,每隔0.05秒调用一个方法,定时改变UIScrollView的contentOffset,从而达到字幕滚动播放的最终视觉效果方法实现:A.初始化方法里只能传入需要轮播的文字,即原创 2016-01-22 16:03:21 · 1138 阅读 · 0 评论 -
点击view上某个点,获取坐标让指定view移动过去
//功能描述:通过touchbegain获取到鼠标点击位置的坐标,然后用一个CABasic动画让指定的imageView“跑”过去-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { self.view.userInteractionEnabled =NO; //N原创 2016-01-05 11:04:46 · 3639 阅读 · 0 评论 -
使用NSURLSession实现下载类的封装
1. 首先明确我们要一个单例类来写下载功能,这里使用NSURLSessionDownloadTask这个下载类实现下载a.使用NSURLSessionDownloadTask需要使用其父类NSURLSession来支持与初始化b.父类初始化方法中sessionWithConfiguration的参数可以填nil,也可以给[NSURLSessionConfiguratio原创 2016-01-21 09:37:30 · 615 阅读 · 0 评论 -
一个简易模糊视图类的封装,可做出模糊图片效果
基本思路如下:1.创建一个继承自UIImageVIew的类,自定义初始化方法2.内部使用UIVisualEffectView来添加模糊效果,控制模糊程度3.可以通过枚举值控制模糊效果,用透明度alpha来控制模糊程度 UIBlurEffectStyleExtraLight, UIBlurEffectStyleLight, UIBlurEf原创 2016-01-21 09:04:04 · 691 阅读 · 0 评论 -
将且仅将UILabel上的所有数字变色指定的字体颜色
先提出一个场景,一个UILabel上面有各种数字字符中文字符以及字母等,现在我们想将其中的数字找出来并且变为和其他字符不同的颜色。这里提出一个解决方法,通过for循环来截取一个一个字符,判断其是不是0-9的数字,如果是就设置他的字体属性,我们使用了 NSMutableAttributedString实现富文本(带属性的字符串)。NSA原创 2016-03-03 14:52:45 · 7828 阅读 · 1 评论 -
用线型布局的瀑布流实现增删系统相册的图片
首先我们知道瀑布流有线型,圆环型,堆型等不规则布局,只要导入对应的自定义UICollectionViewFlowLayout就可以造成不规则布局效果苹果官方都有详细的demo,这里不再阐述;我们这里的工作是,点击collectionview的最后一个item的时候实现从系统相册去添加新的图片到当前的瀑布流,长按item的时候出现删除按钮,实现删除指定item的功能.为了实现持久化,选中的图片均原创 2016-02-17 10:36:51 · 946 阅读 · 0 评论 -
简易引导图的实现
首先我们都知道刚下载的应用,会出比较精美的引导图片告诉用户软件的功能以及特性,这种引导图片只会出现一次,以后再也不会出现a.我们只需要在AppDelegate里面写一个简单的判断就可以实现:分析一下:第一次进入应用的时候偏好设置NSUserDefaults里面字符串@“NotfirstTime“默认对应的布尔值是NONSUserDefaults* use=[NSUserDefa原创 2016-02-17 11:58:54 · 1510 阅读 · 0 评论 -
解决警告Presenting view controllers on detached view controllers is discouraged 以及引申
AppDelegate *delegate = (AppDelegate *)[UIApplicationsharedApplication].delegate;原创 2016-04-28 10:58:21 · 15800 阅读 · 0 评论 -
iOS上传Appstore遇到的问题
如图所示,今天直接打包上传一直不成功,总是停在这个界面,“iTunes store operation failedthis action could not be completed.try again”。难道是网速不好么,毕竟是苹果商店是外网确实比较慢,我上传的文娟又是一百几十兆的项目。 试了N次,只能另辟蹊径,用Xcode自带的上传工具,Application原创 2016-04-27 09:19:37 · 1423 阅读 · 0 评论 -
实现下拉列表的一种方法
如下图,这种点击可以展开详细列表的表视图,下面阐释一种简单的实现方法:实现思路如下:首先,给表视图初始化N个分区,给每个分区用一个布尔值参数来判断该分区是否需要展开详细列表,初始的时候,每个分区返回的cell个数是0,即不展开。-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ r原创 2016-04-13 17:31:04 · 500 阅读 · 0 评论 -
对简易弧形进度条的实现的理解
图A:这种进度条100%就是一整个圆 图B:这种进度条100%是从-240度到30度,样式根据开发需要随意设置,下面具体谈实现第一步:用UIView类写一个方法使用CAShapeLayer和UIBezierPath画出完整的圆形轨道,方法名为- (void)drawProgress;#define degreesToRadians(x) (M_PI*(x)/原创 2016-04-13 17:05:54 · 3262 阅读 · 0 评论 -
裁剪图片之个人总结
1.首先思路是在一个UIScrollView上放一张UIImageView,缩放图片之后,通过scrollView的contentOffset的偏移量除以缩放的比例来获取裁剪图片的相对位置CGRect的起点坐标origin,通过裁剪框的大小(即size)除以缩放的比例来获得需要裁取的图片的CGRect的尺寸size2.UIImageView的宽高之比必须和原UIImage的宽高之比相同,这原创 2016-02-24 16:02:42 · 1047 阅读 · 0 评论 -
模态跳转和push跳转到公共页面如何返回
平时大家跳转页面,我们模态跳转到某个页面使用[self presentViewController: animated: completion:]返回时使用对应的返回方法 [selfdismissViewControllerAnimated:YEScompletion:nil];push跳转页面使用 [self.navigationControlle原创 2016-02-22 14:48:57 · 2632 阅读 · 0 评论 -
navigationbar设置为透明 上面items不透明展示解决思路
如题所示:我们需要把导航栏隐藏掉却不想隐藏上面的控件(items),可是我们知道父视图被隐藏的时候,上面的子视图一样不可见。下面提供两种解决此问题的方案:方法一:直接隐藏navigation bar(控制hidden属性),然后在对应的位置上贴一个假的透明的navigationbarView(自定义的UIView), 对应位置贴item按钮。 方法二:navigationbar有个设置原创 2016-03-07 14:00:29 · 1269 阅读 · 0 评论