自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Alan_xz的博客

一个油腻的青年程序员

  • 博客(20)
  • 收藏
  • 关注

原创 仿转转首页Banner图

实现效果当banner滚动的时候 首先会缩放当前以及上一个或下一个banner图,当banner滚动时会,背景会随滚动系数变化部分实现1、缩放(自动滚动) 自动滚动开始时 缩放当前cell @objc func automaticScroll(){ if totalItemCount == 0{return} let...

2018-04-23 15:01:33 1406

原创 Swift 开屏广告的实现 (支持本地与网络的图片,动态图,视频)

原理用户在使用app的时候,用户肯定会多次打开app的,但是如果网速慢图片大,总不能让用户看3秒默认启动图吧?那样体验太不好了,因此还是加入缓存机制比较好。我的实现思路是,第一次不让用户去看这个3秒广告了,直接略过,开一个线程去缓存这张图片。第二次用户再启动app的时候,判断广告有效时间显示图片 ,gif、视频同理。效果图

2018-01-15 09:20:45 1451

原创 2018年APP上架被拒最新总结

1、元数据* 元数据与应用内容不符 (贴近自己的软件编写上架内容)* 元数据包含不雅词汇:如装逼 (修改即可) * 元数据内容不合理,如推广第三方平台或内容不适 (贴近自己的软件编写上架内容)* 上架图片,例如最新的iPhone X的上架图,如果出现不是iPhoneX的样式,虽然你的图片尺寸是对的,但是会以无法反映出在iPhone X上的样式而被拒绝。(修改上架图即可)2、

2017-12-13 11:48:51 4841 5

原创 CALayer层动画详解:CAEmitterCell粒子动画效果(三)

在iOS系统中,粒子系统由两部分组成:CAEmitterLayer和CAEmitterCell。 1、CAEmitterLayer为粒子发射图层。该图层主要用于控制粒子展现范围、粒子发射位置、粒子发射形状、渲染模式等属性。通过CAEmitterCell构建的发射单元都受到CAEmitterLayer图层节制,可以说粒子展现必须在CAEmitterLayer图层上来实现。 1、CAEmitter...

2018-05-03 15:29:33 705

原创 CALayer层动画详解:CAKeyframeAnimation与CAAnimationGroup(二)

CAKeyframeAnimation关键帧动画,也是CAPropertyAnimation的子类,与CABasicAnimation的区别是:CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值。CABasicAnimation可看做是只有2个关键帧的CAKeyfra...

2018-05-02 15:29:28 361

原创 Swift 4 Gif图的解析与使用

//分解gif图 func resolveGifImage()->[UIImage]{ var images:[UIImage] = [] let gifPath = Bundle.main.path(forResource: "demo", ofType: "gif") if gifPath != nil{ ...

2018-04-28 15:46:19 702

原创 CALayer层动画详解(一)

1、UIView和CALayer的区别UIView 集成UIResponder,可以响应事件; 负责对内容的管理;位置属性只有frame、bounds、centerCALayer只负责内容的创建,绘制位置属性只有frame、bounds、center、anchorPoint、positio...

2018-04-28 15:45:54 566

原创 iOS关于友盟推送消息收不到的错误排查思路

最近经常有人问集成友盟推送收不到推送消息, 总结后发现主要为两个原因: 1、应用环境 2、推送证书 3、后台production_mode参数首先确认你当前应用的环境(开发or生产)测试环境(开发环境)1、首先在友盟后台可根据添加deviceToken来直接推送,如果可以收到,这说明你的开发环境的证书是没问题的,如果收不到就是你的证书有问题,或者deviceToken添加错误...

2018-04-28 15:45:18 2733

原创 JS交互 点击WKWebView中的图片实现预览效果

Swift 4.0JS交互 点击WKWebView中的图片实现预览效果

2018-01-04 14:23:08 1590

原创 显示网络图片变形的处理

在开发中有时我们需要显示一个网络图片这张图片可能偏大,在我们设置它的圆角后会变形跟难看, 这时候只需要设置这两个属性就好image.contentMode = .scaleAspectFillimage.layer.masksToBounds = true

2018-01-03 15:49:02 480

原创 最新跳转App Store评分的方法

let urlString = "itms-apps://itunes.apple.com/cn/app/id您的appid?mt=8&action=write-review"let url = URL(string: urlString)//根据iOS系统版本,分别处理if #available(iOS 10, *) { UIApplication.shared.open(url!,

2018-01-03 15:48:04 882

原创 Swift多语言版本的创建

Swift 多语言版本的创建 以及小工具的分享

2017-12-14 10:50:00 1734

原创 接入友盟第三方登录与分享,判断应用是否安装

接入友盟第三方登录与分享,我们需要判断应用是否安装或者是否支持,以微信为例:/** * 平台是否安装 * * @param platformType 平台类型 @see UMSocialPlatformType * * @return YES 代表安装,NO 代表未安装 * @note 调用前请检查是否配置好平台相关白名单: http://dev.umeng.com/soc

2017-12-12 14:57:34 5116 4

原创 iOS 应用间相互跳转

前言在开发中我们会有一种需求,就是想让我们的app跳转另一个app,比如打开游戏,打开某个应用,这种应用间的相互跳转是怎么实现的呢?请看以下内容。1、添加URL Schemes如果我们想要A应用跳转到B应用,在B应用的info->URL Types 添加一条scheme,比如myCustomScheme2、实现跳转A应用代码如下:// 1.获取应用程序App-B的URL SchemeNSURL *

2017-11-29 15:31:33 555

原创 Swift3 根据日期获取当天零点的时间戳

func getMorningDate(date:Date) -> Date{ let calendar = NSCalendar.init(identifier: .chinese) let components = calendar?.components([.year,.month,.day], from: date) return (calen

2017-11-29 15:12:20 2868

原创 Xcode 9 添加ScrollView 或者TableView,隐藏导航栏,少20 个左右像素

解决办法: Automatic 改为never即可

2017-11-29 15:11:48 370

原创 iOS11 刷新TableView上下跳动

AppDelegate 添加if #available(iOS 11.0, *) { UITableView.appearance().estimatedRowHeight = 0; UITableView.appearance().estimatedSectionFooterHeight = 0; UITableView.ap

2017-11-29 15:10:20 2335

原创 越狱手机syslog文件不存在或没有打印解决办法

安装syslogd安装FlipControlCenter安装syslogflipswitch关闭开启syslogd快捷键,再试一次就可以产生syslog链接:https://www.reddit.com/r/jailbreak/comments/50niif/question_does_syslogd_work_on_933/

2017-10-28 11:31:25 650

原创 Swift3 苹果内购

1、引入头文件 import StoreKit2、在viewDidLoad添加 SKPaymentQueue.default().add(self) //添加代理 SKPaymentTransactionObserver,SKProductsRequestDelegate2、支付 if (SKPaymentQueue.canMakePayments()) { self

2017-10-28 10:42:44 1104 1

原创 对AlamofireObjectMapper进行二次封装

Swift 使用Alamofire网络框架的封装

2017-10-28 10:40:56 685

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除