自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

扬帆追梦人

Hello world

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

原创 iOS 横竖屏处理方案

最近在处理项目里一个竖屏跳转横屏,然后再跳转另一个横屏的技术需求,而且要求用 Push方式。概要:这里只说项目如何配置横竖屏,具体横竖屏适配可以参考下文图解---横屏的VC--最后一个方法里适配横竖屏,用 AutoLayout 的话就不用处理了,注意横屏后刘海屏的左右边距,我习惯一般直接给个 44pt 的左右边距。App里VC的横竖屏决定权由其父容器控制,假如父容器只支持竖屏,则子容器的设置就会失效,若页面切换过程中系统发现返回的朝向未确定,则系统更倾向于保持不变,而且可能会产生意想不到的情况,甚至崩溃。

2022-11-03 10:37:53 678 1

原创 iOS LaunchScreen 启动图适配,图文教学。适合简单的启动图

  首先说明一点,此教程适用于启动图样式比较简单点的,比如下面示例中的图,图片和文本都是居中的,边边角角不存在其他图片Icon,不然会导致部分丢失。  最近用Flutter搞了个项目,在弄启动图的时候,选用了flutter_native_splash第三方库,在安卓上表现可以,但是在iOS上表现不是很理想,按教程处理后图片会向左便宜,还有就是每次启动都会先黑(白)屏,然后才能加载出来启动图。下图是flutter_native_splash的配置,既然iOS手动设置,所以设置了不使用方式:ios:fals

2021-11-24 17:34:36 6646 2

原创 iOSer -- C语言基础+C语言基础入门算法题

C语言基础+C语言基础入门算法题最近重新温故了一下C语言,以及C语言基础算法题,由于我是iOSer,所以C项目用的是Xcode做的,项目连接见项目地址┭┮﹏┭┮C语言部分:包括了C语言的一些基本属性。包括C语言的数据类型、指针、函数指针、数组、字符串、结构体等算法部分:包含了一些C语言基础的算法,我挑了一些基础的和有意思的算法题来做,比如:“打印一个由*构成的菱形图案等 ”等,还是蛮有...

2020-04-07 17:06:07 545

原创 Xcode 10 Mutiple commands produce 报错

Xcode10 Mutiple commands produce 报错的处理:创建了个新项目。然后移动了info.plist。然后无论修改Build Settings 里的info.plist路径,或者删除路径重新选择plist文件,编译都会报错。最终在 stackoverflow上找到了解决办法,如下:Xcode->File->Project Settings-> Bui...

2018-09-26 20:27:23 1061

原创 百度OCR集成遇到的坑 dyld: Library not loaded: @rpath | Embeded Framework 签名的坑

项目中要用百度OCR识别身份证,然后将识别出来的姓名和身份证号通过芝麻信用认证,说下我在百度OCR集成时遇到的坑。首先,百度提供的demo里的三个framework(AipBase,AipOcrSdk,IdcardQuality)都是动态库,官方说一定要以 embedded 方式引入,这个是动态库的特性。如下: 但是, 我按照文档, 将三个库导入到项目中后,然后在 general – e...

2018-06-12 01:40:41 5890

原创 iOS 等待for循环里的异步任务完成再进行其他操作的一个解决办法 -- 信号量+串行队列卡for小循环

for循环里的异步操作开发中经常会遇到这样一些情况,比如: 1.登录失败后的多次登录重连场景。 2.在一个for循环遍历里,有多种异步操作,需要在所有的异步操作完成后,也就是for循环的遍历结束后,再去执行其他操作,但是不能卡主线程,这时候就需要用其他方法了。我遇到的需求是,在一个for循环里有数据库的查询操作以及网络请求操作,然后将数据库的查询和网络请求的结果添加到一个临时数组中,最...

2018-05-25 11:32:21 8148

原创 iOS 幸运转盘抽奖+粒子动画

前些日子,公司做了个竞猜下注功能。突发奇想,想做一个转盘抽象的功能,于是便有了接下来的demo。demo地址:  https://github.com/SunshineTraveller/GambleView思路:1.根据外界给定数组画对应个数的扇形,然后加到一个父视图上2.给父视图添加转盘动画~~~~~~~~~~~~~~~~~~~~~~~~~~begin~~~~~~~~~~~~~~~~~~~~~...

2018-03-14 21:10:20 1477 2

原创 iOS--GCD的常见用法,group、barrier、semaphore

项目中用到了阿里云上传,有20张图片加3个音频加视频文件,用到了GCD的东西,总结了一下。凌晨五点了  直接上代码吧还是  有注释总结: //////////////////////   GCD 总结    ///////////////////////////// 一、同步:1.1不区分串行或并发,和队列创建数目无关,都是在一个线程中执行。测试中任务在主线程中

2017-09-22 05:09:47 1766

原创 安卓的录音在iOS端无法播放问题

项目中有语音评论模块,测试的时候发现的一个现象,安卓录制的语音上传后,他们可以播放自己的,iOS端录制语音上传后也可以上传自己的,两边的录制格式都是 .aac 格式的。但是iOS端这边播放不了安卓那边上传的语音,用的AVAudioPlayer。安卓那边也一直找不到原因,最后查阅资料找到了问题,安卓那边录制的时候出了点问题。刚开始以为是上传文件后缀的问题,因为我们的语音文件是通过阿里云OSSCl

2017-08-26 01:27:32 7555 2

原创 UIButton 扩大点击区域

经常会遇到这种情况,有些app的删除或着其他按钮看上去很小,但是你点击的时候却是可以点击到它。这里介绍一个小技巧来实现这个功能,就是重写button的hitTest方法,扩大button的点击范围即可,做法就是自定义一个Button,然后在.m里重写即可,做法如下下面是将button的点击区域向两侧扩展了20 point大小- (UIView *)hitTest:(CGPoint)

2017-08-22 23:10:34 1192

原创 背景视图上点击事件与tableView冲突的解决办法

demo链接:https://github.com/SunshineTraveller/Tap_VS_didSelectTableView场景:需要封装一个弹窗,任何时候都可以从底部弹出,向外暴露内容数组通过block回传点击的index. 在封装类中放了一个背景view,半透明黑色,给背景视图加点击手势用于退出弹框,背景视图上加了tableview,然后发现tableview的cell点击事

2017-08-16 21:00:49 1574

原创 GPUImage美颜视频录制

工作太忙,偷闲分享一个我刚做的一个录制视频工具类,基于GPUImage的带美颜功能的工具,简单易用!完整录制播放代码链接:用法如下:https://github.com/SunshineTraveller/LMVideoManager声明一个属性:/** manager */@property (nonatomic,strong)LMVideoManager *

2017-08-10 20:48:30 3329 2

原创 iOS开发--SourceTree的使用教程

下载安装sourcetree,完成后的步骤:1.如下图,首先向公司要项目地址及你的账户和密码,一般公司会直接告诉你的。打开sourcetree点击新仓库,选择从URL克隆1.1弹出下面的弹框,然后输入远程仓库的链接(公司会告诉你地址)1.2然后设置账号密码2.输入你的用户名和密码3.输入完成后是这个样子的,你能看到你们的项目4.双击你的项目

2017-07-20 21:40:26 5177 1

原创 iOS 键盘限制输入内容限制、输入长度限制

经常会遇到 键盘 输入的字符长度的限制,比如常见的 手机号只能输入11位数等。比如我们项目中总共92个输入框需要限制位数及输入键盘的样式。方法如下:UITextFieldTextDidChangeNotification 是系统的通知,监听该通知来做相应处理// 在你的界面注册通知,[[NSNotificationCenter defaultCenter] addO

2017-06-23 13:19:50 2435

原创 上拉跳转界面,仿淘宝

项目中提出这么个需求,在首页中上拉,然后直接跳转到地图找房界面,想了下,用监听scrollview加动画实现了这一效果,上代码:// 监听scrollview的滑动事件,这里我设置了上拉距离超过200就跳转-(void)scrollViewDidScroll:(UIScrollView *)scrollView {        NSLog(@"%f",sc

2017-06-22 09:14:14 805

原创 UICollectionView的item长按移动编辑

iOS9.0之后,UICollectionView多了两个代理方法,可以通过这俩个方法来对其上的item进行移动编辑,本文主要说下移动功能,移动前加了个抖动手势(类似APP删除时的抖动效果),然后拖动改变item的位置- (BOOL)collectionView:(UICollectionView *)collectionView canMoveItemAtIndexPath:(NSI

2017-06-20 23:44:17 6877 2

原创 super 与 superclass subclass

super : 一个编译修饰符,表示用当前对象去调用父类的方法superclass:获取调用者的父类验证:父类:#import @interface Persion : NSObject@property (nonatomic,copy)NSString *name;-(void)test;@end#import "P

2017-06-20 16:36:20 1387

原创 浅谈 iOS 动态特性

OC是一门动态类型语言说动态类型之前,先说俩概念:编译、运行。编译:编译简单来讲就是把自己写的源代码翻译成机器能识别的语言。可以认为是编译器检查语法、识别静态类型数据等过程,是不会将代码运行到内存中去的,也就是说编译时是没有内存分配的运行:就是将代码加载到内存中去,并在内存中做一些操作和判断等。OC的动态特性体现在三个方面:动态类型、动态绑定、动态加载

2017-06-19 22:58:25 1039

原创 自定制 UITableViewHeaderFooterView 加载不上视图问题

用到了类似下图的Header日期加更多的效果,自定制了一个后发现上面的视图没有加载上去,找了一会儿,终于发现了原因,因为我在用UICollectionReusableView的头视图视图时,我用了下面的方法;- (instancetype)initWithFrame:(CGRect)frame{    self = [superini

2017-06-19 10:04:27 851

原创 多选栏 LMSlider

demo连接:https://github.com/SunshineTraveller/LMSlider开发中经常会遇到下面这种多选栏下面是我封装的一个选择栏.h  文件 #import @protocol LMSliderProtocol NSObject>/** 代理方法

2017-06-16 01:11:42 251

原创 Apple Mach-O Linker Error 一个粗心造成的问题

今天写代码的时候,突然报了这个错,想了想之前没错,写了几个类之后就报错了,怀疑问题出在在这几个类上检查了一下,果然在引入头文件的时候出了问题,我在导入的时候,出现了上面是.m  ,下面是.h文件的提示,我没看直接将.m文件导入了其他文件重新换回.h文件后,问题解决!

2017-06-15 23:37:52 218

原创 JSONModel的模型嵌套

JSONModel的模型嵌套我们解析数据的时候会遇到嵌套的数据,解析的时候会用到嵌套的模型,下面说下JSONModel嵌套的一些注意问题!1.先简单说下JSONModel的简单用法1.1单层模型 .h文件     #import @interface WX_FriendZonePeiTuModel :JSONModel// 朋

2017-06-15 22:42:37 6890 2

原创 苹果原生二维码扫描器

项目中一直用的ZBar的扫描,后来发现速度明显和微信差很多,然后就想着替换成原生的,自己动手弄了一个简陋的扫描器,支持相册扫描,手电筒等。大神勿喷。项目连接:https://github.com/SunshineTraveller/LMScaner 直接上代码:#define LMSCWID [UIScreen mainScreen].bounds.size.width

2017-05-31 17:47:05 360

原创 给TableView添加一点动画效果

直接上代码:- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {                cell.contentView.transfor

2017-05-26 18:03:09 584

原创 设置图片圆角加阴影效果

需要在我的界面将头像设置成悬浮阴影效果,但头像是圆角的,设置完成后发现要么有阴影无圆角,要么有圆角无阴影,查阅资料发现可以在layer上动手脚,代码如下:CALayer *subLayer = [CALayerlayer];    CGRect imgFrame =CGRectMake(SCREENWIDTH/2-40,20, 80,80); 

2017-05-26 16:43:22 1172

原创 AFN请求后台数据为 NSInlineData类型的处理

项目中一直用的 MKNetworkEngine来来请求数据的,在改同事代码的时候,遇到一个新的接口,由于习惯,直接用AFNetWorking去请求了,但是遇到了问题,后台返回的数据 responseObject 为 6e616d65 223a225c 75353733 61222c22 6d6f6269 6c65223a .... 这种的数据,responseObject 为_NSIn

2017-05-25 11:52:51 3079 2

原创 点击底部Tabbar某个item,返回到其对应的初始页

因项目需求,需要将底部Tabbar点击后达到这样的效果:点击首页后,要求显示最初的首页界面,而非二级、三级界面等。研究了下TabbarController的代理方法,找到了解决办法。思路:window的根视图是UITabBarController, UITabBarController的子viewControllers中放的是UINavgationController,所以,找到底部item的

2017-05-25 10:01:57 698

原创 图片浏览器:利用UIScrollView做类似微信好友文件中的图片浏览器(缩放、单击退出、双击放大等)

图片浏览器:利用UIScrollView做类似微信好友文件中的图片浏览器(缩放、单击退出、双击放大等)

2017-05-08 17:28:47 864

原创 iOS pch 文件的使用

开发中需要经常引用一些头文件和宏定义,把他们放在 pch 文件中即可省去多次引入带来的不便。iOS之前的版本自带 pch 文件,现在需要手动创建。步骤如下:1. 创建 pch 文件。command+N 或 Xcode --> File --> New --> FIle.  选择 iOS对应栏下 Other --> PCH File .2. 设置路径及预编译 

2016-11-19 11:14:12 291

转载 UIView的transform属性

Transform 属性:UIView有个transform的属性,通过设置该属性,我们可以实现调整该view在其superView中的大小和位置,具体来说,Transform(变化矩阵)是一种3×3的矩阵,通过这个矩阵我们可以对一个坐标系统进行缩放,平移,旋转以及这两者的任意组着操作。而且矩阵的操作不具备交换律,即矩阵的操作的顺序不同会导致不同的结果。常用的三种实现选中的方式:

2016-10-08 09:42:28 240

原创 设置应用内的系统控件语言

在 iOS 应用中,有时候会需要调用系统的一些 UI 控件,比如:1.在 UIWebview 中长按会弹出系统的上下文菜单。2.在 UIImagePickerController 中会使用系统的照相机界面。3.在编译状态下的 UITableViewCell ,处于待删除状态时,会有一个系统的删除按钮。以上这些 UI 控件中,其显示的语言并不是和你当前手机的系统的语言是一致的,而是根

2016-09-07 13:39:09 236

原创 收起键盘的多种方法

在UIVIewController中收起键盘,我们一般调用相应控件的 resignFirstResponder 方法,除此之外,还有三种办法:1. 重载 UIViewController 中的 touchesBegan 方法,然后在该方法里调用 endEditing: 方法,这样点击UIViewController 的任意地方,都可将键盘收起-(void)touchesBegan:

2016-09-07 13:36:09 311

原创 GCD的应用-- block / 后台运行...

/*    一、使用 GCD    先说下 block,一般用于两个界面传值    @property (nonatomic,copy) void (^loggerBlock)(NSString *);   //声明变量(也可以用typeDef)    在两个viewController中用block进行传值,这里不演示,只写出代码    __wea

2016-09-06 15:38:21 378

原创 GCD的简单应用--异步加载图片

在这里,简单介绍下GCD的应用。1.编程场景 :    在iPhone上做一个下载图片的功能,很简单,就是在屏幕上放置一个按钮,点击该按钮,显示一个转动的圆圈,表示正在下载,下载完成后,将图片显示出来。2.主要代码如下:#import "ViewController.h"@interface ViewController ()@propert

2016-09-06 14:05:36 2116 1

原创 真机调试时 “Cloud not find Developer Disk Image” 问题的解决

应该有童鞋把iPhone升级到iOS9.3版本,但是Xcode没有做7.3升级,进行真机测试发现测试不了?看下这个小步骤就好了

2016-06-20 14:52:42 986

原创 Swift 基本语法详解(2)

Swift 基本语法详解(2)

2016-05-06 13:00:11 681

原创 Swift 基本语法详解(1)

Swift 基本语法详解

2016-05-06 12:56:52 333

原创 Swift 基本语法

Swift 基本语法简介

2016-05-06 11:10:05 791

空空如也

空空如也

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

TA关注的人

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