- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 两个imageView实现图片轮播
前言在不少的项目中,都会用到图片轮播这个功能,现在网上关于图片轮播的轮子也层出不穷,千奇百怪,笔者根据自己的思路,用两个imageView也实现了图片轮播,这里给大家介绍笔者的主要思路以及大概步骤。 轮播实现步骤层级结构最底层是一个UIView,上面有一个UIScrollView和UIPageControl,scrollView上有两个UIImageView,imageView的宽高=scr
2016-04-10 23:30:37 1397
原创 iOS应用程序短信分享和邮件分享
前言本篇文章讲述在iOS开发中的短信分享以及邮件分享短信分享方式一: 如果利用该方式发送短信, 当短信发送完毕或者取消之后不会返回应用程序 NSURL *url = [NSURL URLWithString:@"sms://10010"]; [[UIApplication sharedApplication] openURL:url];方式二: //
2015-11-27 22:30:27 683
原创 iOS应用程序拨打电话
前言在开发iOS应用程序经常会用到拨打电话功能,例如客服电话。。。那么我们怎么样能实现该功能呢?实现今天我讲解三种拨打电话的方式,同时也说说其各自的利弊。方式一:NSRUL *url = [NSURL URLWithString:@"tel://10010"];[[UIApplication SharedApplication] openURL:url];弊端:使用该方法进行拨号之后,当电话挂断之
2015-11-27 22:15:39 476
原创 认识Block
什么是Block?Block是一种特殊的数据类型,就是一个代码块,可以用于回调。Block定义格式返回值类型(^block变量名)(形参列表) = ^(形参列表){}调用 block变量名(实参列表);如void(^myBlock)(void) = ^(){ NSLog(@"我是一个block");};myBlock();Block的模式无参数无返回值的Block无参数有返回值的B
2015-11-16 17:29:22 385
原创 iOS快速集成银联支付
废话不多说,直接上教程,下面就来介绍一下怎样快速集成ios银联。前期准备官方sdk下载地址:银联SDK银联支付只需要以下几部:添加库,一般使用无语音的方式。只需添加如下三个文件,可以在官方文件中找到。 在Build Settings下面的 Other Linker Flags 添加 -ObjC 。如果不加有可能卡在银联的支付界面。(PS:注意大小写) 导入头文件:#import "UPPa
2015-11-09 15:35:16 722
原创 iOS集成支付宝支付流程详解
接入前期准备工作接入前期准备工作包括商户签约和密钥配置。开发包集成流程:(这里只是讲述iOS)将我们下载的sdk压缩包解压,找到客户端demo(PS:sdk下载链接:支付宝SDK下载)导入代码。 步骤一:启动Xcode,把刚刚解压的压缩文件中的以下文件拷贝到项目文件夹下,并导入工程项目中, 在项目的Build Phases选项卡的Link Binary With Libraries中,添加以下
2015-11-09 15:17:48 3427
原创 iOS手势解锁
效果图前言在一些涉及个人隐私的情况下,尤其是当移动设备包含太多私密信息时,为用户的安全考虑是有必要的。现在很多的应用都有手势解锁功能,因此掌握以下手势解锁的实现还是有必要的。思路讲解创建好界面(这个应该都知道)重写下面3个方法- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {}- (void
2015-11-05 13:36:24 405
原创 Storyboard中使用xib定义的view
前言我们在开发项目的时候,有些人选择纯代码,有些人选择storyboard,也有些人选择xib,当然各有各的好处。在此就不做讨论。 以前做的一个项目用的storyboard结合autoLayout,整个项目就使用了一个storyboard,导致里面控制器太多,并且控制器上有些view明明是一样的,可是却不知道该如何来复用。解决办法那么小编今天带大家在storyboard中使用xib定义的view,
2015-11-04 16:00:53 2854 1
原创 UITableView没数据时用户提示该怎么做?
前言我们都知道几乎所有的app都会有UITableView这个控件参与,而没有数据时我们应该怎样展示给用户是很关键的一件事,不然就是白茫茫的一片,用户体验不好。比如我的项目在UITableView没有数据时提示用户“暂无数据”,我之前都是这么写的// 显示无数据提示 1. (void)showNoDataLabel{ if (!_noDataLabel) { _noDat
2015-11-02 09:57:29 3402
原创 iOS动画《第一篇》
由于在公司接触的项目都不怎么使用到动画,所以一直以来都没有怎么研究动画,这次总结一下自己最近写的一些动画效果。UIView动画相信大多数的同学都使用过UIView animateWithDuration:<#(NSTimeInterval)#> animations:<#^(void)animations#> 这个方法,这样也可以实现一些动画,但是它是加在view上的。CoreAnimation动
2015-10-30 17:30:06 355
原创 iOS开发中的瀑布流
前言最终效果: 之前在很多的App上看到过瀑布流这种效果,而笔者在之前的开发中也没有遇到过使用这种效果的情况,大多数都是一些排列整齐的类似9宫格那样的平铺,因此对高度不一样的布局笔者还没有写过。今天笔者来带大家实现一下这种效果吧。思路详解咋一看这界面,我们可以用UITableView、UICollectionView,甚至你也可以UIScrollView自己撸一个,不过相信大多数人会选择UICol
2015-10-29 11:42:58 572
原创 iOS开发使用storyboard预览UI在不同屏幕显示效果
之前在一家公司做的项目都是使用纯代码,最近在公司做项目使用Storyboard,虽然有时会遇到团队合作的Storyboard冲突问题,但是对于Storyboard开发效率之高还是比较划算的。也有好多人认为用Storyboard进行团队开发很容易产生冲突,其实并没有想象中的那么容易产生冲突的,纯代码不也有产生冲突的时候吗?团队合作使用Storyboard时,避免冲突有效的解决方法是负责UI开发的同事最
2015-10-28 14:22:24 1850
原创 修改圆角个数
前言:我们在开发中经常会遇到将view变成圆角,实现起来很简单,我们一般都会使用这样的方式来完成:rectView.layer.cornerRadius = 10.0f;rectView.layer.masksToBounds = YES;这样一写的话,我们的rectView的四个角都变成圆角了,但是有时候我们并不想要让它4个角都变成圆角,那么我们该怎么实现呢?解决办法答案是我们创建一个CASha
2015-10-27 16:52:36 526
原创 仿微博个人主页效果
最近看到很多App的个人主页都流行使用导航栏随着UITableView的滑动来产生渐变的效果。此篇文章讲述的是仿微博个人页,效果图如下: 1.分析项目组成架构效果:当往上滑动的时候,顶部渐渐出现条,很明显是个导航条。 结论:因此项目应该是由导航控制器组成,另外遵循一个界面一个控制器的原则,我们只需要自定义一个个人主页控制器作为导航控制器的根控制器就OK了2. 分析个人主页控制器的层次结构一
2015-10-27 15:58:16 6175
原创 利用AVFoundation实现录音和播放
最近写了一个类似微信发送语音功能的demo,按下可以录音,松开停止录音,并且可以通过点击播放按钮播放。由于该功能模拟器不能模拟,所以看不到效果图,所以贴出代码链接点击下载 代码总共不超过200行,相信大家都能看得懂。 如果有疑问,欢迎issue!
2015-10-27 15:03:45 553
原创 Xcode7免证书真机调试
在Xcode7正式发布的日子里,苹果给开发者带来了一次惊天的变化,从此开发者不需要花99刀购买开发者证书就能够进行真机调试了,当然如果想要发布到App store那肯定是需要购买的。但是这对于正在学习阶段或者想做一个属于自己APP的同学来说,已经是丰厚的福利了。接下来我们来配置怎么使用免证书真机调试: 第一步:需要一个Apple ID(如果没有,请注册一个申请Apple ID),一个iPhone手
2015-10-26 14:09:23 482
原创 UIScrollView遇上AutoLayout
在使用storyboard和xib的时候,我们经常会碰上UIScrollView的情况,而我们使用storyboard和xib的时候,经常是使用的AutoLayout自动布局,但是UIScrollView碰上AutoLayout的时候,相对来说是有点复杂的。为什么呢?原因在这: 由于Scrollview的contentSize由其subviews确定,其subviews的布局依赖于其父视图Scro
2015-10-23 18:30:33 479
原创 UITableView使用AutoLayout动态计算cell高度
UITableView几乎是每个app都需要用的控件,而cell高度自适应也是我们需要掌握的,当然cell上面的控件也是有多种表现形式,今天小编讲解的是其中一种比较常见的:Auto Layout with UILabel in UITableViewCell。 话不多说,上教程。 首先我们创建一个Sigle View Application的项目,然后拖上一个UITableView到storyb
2015-10-23 12:40:30 564
原创 AutoLayout详解
在一些群里看到很多朋友还是停留在Frame布局的痛苦时代,今天小编在这里和你讲述一下苹果推荐的布局方式AutoLayout.AutoLayout是什么? Autolayout是一种布局技术,专门用来布局UI界面的。用来取代Frame布局在遇见屏幕尺寸多重多样的不足 Autolayout自iOS6开始引入,由于Xcode4的不给力,当时并没有得到很大的推广 在iOS7(
2015-10-22 14:51:11 683
原创 关于CocoaPods在10.11系统不能使用的情况
CocoaPods是管理第三方库的一个很好的工具,学习使用CocoaPods是学习iOS开发必备的技能之前电脑上已经安装过CocoaPods,然后电脑系统更新到10.11之后,发现pod命令都不能使用了,原来是我以前用的镜像是 http:ruby.taobao.org/,iOS9推出以后,请求都改为了https. 本文是针对电脑上以前有安装过CocoaPods的情况: 首先检查一下自己电脑上Co
2015-10-20 13:16:02 431
原创 Swift中单例的集中创建方式
单例模式是设计模式中最简单的一种,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象。当你只需要一个实例的时候需要使用单例,如UIApplication.sharedApplication(), NSUserDefaults.standardUserDefaults() 等 ,windows的任务管理器,回收站 都是只能同时存在一个。
2015-10-19 14:21:30 684
原创 让tableView的单元格分割线紧贴左边
-(void)viewDidLayoutSubviews{ if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.tableView setSeparatorInset:UIEdgeInsetsZero]; } if ([self.tableV
2015-04-08 20:09:04 486
原创 iOS生成静态库的过程
在iOS开发过程中,我们常常会用到第三方库。那么我们如何制作自己的库文件呢?如何将自己的功能类文件打包成静态库文件,供别人使用呢?那么我们首先来了解一下几点:为什么使用静态库创建静态库可能出于以下几个理由: 1.你想将一些你和你团队中的同事们经常使用的类打包并轻松的分享给周围其他人。 2.你想让一些通用代码处于自己的掌控之下,以便于修复和升级。
2015-04-01 20:03:46 440
原创 NSString 为什么使用copy,而不是retain?
1、首先如果使用retain,只是引用计数+1,并没有生成新的对象,所以效率好2、但是使用copy安全。因为NSString 为 NSMutableString 的基类,如果将NSMutableString 以retain的形式赋值给NSString后,后续修改NSMutableString会导致NSString内容的变化,这通常不是我们希望的,所以NSString要使用copy。比如:
2015-01-10 22:09:00 529
原创 从零到App Store发布应用
在网上找到的教程都比较旧了,所以想在此写一个重复的记录,好让自己想发开个人应用的开发者。什么是开发者账号? 顾名思义,开发者账号当然是ios开发者用到的了,将写的程序部署到真机上,打包发布到app store上,都需要用到开发者证书。同时,衍生的功能就是可以优先体验测试版系统,可以在非越狱的ios设备上安装破解程序。 可以让开发者提前适用产品,上
2015-01-10 14:58:58 672
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人