自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

原创 flutter 实现一个图片选择控件

在最近的开发中,需要做一个选择图片(包括拍照和相册选择)然后上传的功能,我们的项目是iOS原生和flutter混编的,首先用flutter实现这个页面,选择了第三方插件image_picker,下面先看一下效果图下面我们开始一步一步实现这个页面的逻辑,核心是在实现一个可复用的图片选择控件,支持设置最大选择图片数maxCount,支持删除。第一步:集成image_picker ,导入图片...

2019-07-26 18:38:24 2893 1

原创 flutter 动画初探(绘制动画)

今天开始学习flutter中动画的使用,什么叫绘制动画呢,其实我想表达的意思是,结合上一篇文章中学习的绘制,本文中让它动起来

2019-07-23 15:55:28 1400

原创 flutter 绘制的基本使用

上一篇文章中,简单介绍了使用CustomPainter实现一个简单的画板demo,其中只是对于drawLine画线做了应用,这篇文章,再去学习一下painting中的其他方法。这里提一下,自定义的CustomPainter需要放在CustomPaint中才能展示,赋值给painter属性,CustomPainter也还有一个childconst CustomPaint({ Key...

2019-07-22 15:47:40 810

原创 flutter 学习之 做一个简单的画板(CustomPainter)

今天来学习一下flutter中的绘制,从如何使用Canvas draw/paint了解到,在Flutter中使用绘制方式自定义Widget,需要以下三个步骤: 1.继承CustomPainter并重写paint方法和shouldRepaint方法 2.在写paint方法中绘制内容 3.使用CustomPaint来构建Widget 先通过写一个简单的画板来学习一下pai...

2019-07-22 11:02:39 2044

原创 Dart 语法 容易混淆的知识点记录

1.Dart中的变量与常量1.1 变量如果只是用var声明变量,声明该变量之后是可以修改数据类型的var who;who="what";print(who is String);//truewho=10;print(who is int);//true如果声明的同时取赋值,那么该对象的类型就是固定的,不可修改var who="what";print(who is ...

2019-07-19 15:21:05 420

原创 flutter 数据持久化之sqflite

sqflite: 是一款轻量级的关系型数据库,类似SQLite. 支持iOS和Android。适用于存储数据库 , 表类型的数据. 使用: 添加依赖 dependencies: flutter: sdk: flutter ... #sqflite插件 sqflite: ^1.1.6+1 先练习一下官方文档上面的一些基础使用方法 ...

2019-07-18 14:59:09 849

原创 Flutter 数据持久化

前面的几篇文章主要介绍了flutter里面基本控件的使用(其实我也没细说到底咋用,就是堆出来的一个个小控件分享给大家-。-),本文主要介绍一下flutter中数据持久化的使用,作者也是边学习边码文,和大家共同学习。首先说学习过程中遇到的第一个场景,就是在做登录页面的时候,会联想到我们实际应用中会需要存储用户输入的用户名和密码,再或者登录成功之后接口返回的一些其他用户信息。在做iOS开发的时候,...

2019-07-15 15:01:10 1668

原创 flutter attach 解决flutter&iOS混编的痛点(遇到的问题记录)

flutter&iOS混编这里特指,flutter页面和原生页面有交互,不仅是跳转的交互,还有一些数据传递的交互,举个简单的例子,要展示一个flutter的页面,但是页面数据来源于iOS原生(这里说的直白一点是 ,flutter调用了原生的网络请求-。-),做过这种混编的小伙伴,大概都经历过,要首先编译一下flutter,然后再运行Xcode,这个过程,无比耗时(有一部分原因是,我们原生的...

2019-07-12 11:35:40 9413

原创 flutter 学习笔记之ExpansionTile & ExpansionPanelList(展开闭合控件)

ExpansionTile其实就是一个有标题可以展开的控件ExpansionTile({ Key key, this.leading,//在文字前面的Widget @required this.title,//文字 this.backgroundColor,//背景 this.onExpansionChanged,//展开或者关闭的监听 thi...

2019-07-11 17:38:30 3442

原创 flutter 学习笔记之写一个BottomNavigationBar的三种实现方案(保持页面状态)

方案1:final List<BottomNavigationBarItem> items = [ BottomNavigationBarItem(icon: Icon(Icons.home),title: Text('工作台')), BottomNavigationBarItem(icon: Icon(Icons.message),title: Text('资讯...

2019-07-09 16:52:24 702

原创 flutter 学习笔记之写一个通用的设置页面

源码https://github.com/AnleSu/select_text_item效果图:核心code:Widget build(BuildContext context) { return GestureDetector( onTap: this.onTap, child: Container( height: thi...

2019-07-09 14:26:15 1787

原创 flutter 学习笔记之封装一个textfield(倒计时获取验证码)

封装了一个简单的textfield:maxLength:支持设置最大输入长度 默认长度16 isInputPwd:输入密码(掩码) 默认false getVCode:获取验证码倒计时的输入框 countdown 倒计时秒数 默认60s autoFocus:是否自动获得焦点 eg:进入搜索页面 一进页面就调起键盘 keyboardType: 键盘类型 eg:TextInputType.p...

2019-07-08 18:10:57 3332

原创 flutter 学习笔记之封装一个筛选器

封装一个筛选器支持列表式选择 支持流水布局 支持多选单选 动态根据数据布局效果图:TODO:自定义时间 调取日历 还未实现源码:https://github.com/AnleSu/flutter_dropMenu...

2019-07-08 18:05:34 2158

原创 flutter 学习笔记之封装一个appbar

# flutter_appbar封装一个简单的appbar,默认显示title和返回按钮和下面的分割线- PreferredSizeWidget bottom 支持自定义bottom- titleStyle 支持自定义title的风格- backImgName 自定义返回按钮的图片- backgroundColor 自定义导航栏颜色核心代码: Widget build(...

2019-07-08 17:56:45 1612

原创 flutter 学习笔记之封装一个actionSheet

bottom_sheet自定义底部弹出框, 可设置标题 每一行的文字 点击事件自定义 点击取消弹框消失 test code:BottomActionSheet.show(context, ['微信','支付宝','生成收款二维码','线下转账'],title: '请选择支付方式',callBack:(i) {print('cl...

2019-07-08 17:54:22 1431

原创 浅谈 KVO 原理

概述 KVO(key value observing)允许对象监听另一个对象特定属性的改变,并在改变时接收到事件。一般继承自NSObject的对象都支持KVO KVO和NSNotificationCenter都是iOS中观察者模式的一种实现,区别如下。 在于观察者和被观察者之间,KVO是一对一,NSNotificationCenter是一对多的关系。 KVO对被监听对象无侵...

2018-12-24 10:47:39 351 2

原创 多线程之Semaphore

问题:一个页面有多个请求,拿到所有请求结果后去刷新页面。1.多个请求并发2.多个请求顺序请求我最开始的做法是嵌套请求:[self request4sPartnerRebateCountQueryCompletionBlock:^(NSError *error) { @strongify(self); if (!error) { ...

2018-12-21 14:41:36 493

原创 NSDecimalNumber的学习

NSDecimalNumber可以理解为一个十进制数字类,继承自NSNumber 初始化方法://flag 是否为负传YES OR  NO- (instancetype)initWithMantissa:(unsigned long long)mantissa exponent:(short)exponent isNegative:(BOOL)flag; - (inst...

2018-11-28 10:44:17 958

原创 Jenkins自动打包+OTA分发

下图是搭建Jenkins的流程图,网上教程很多这里就不赘述了 主要作为学习笔记记录下shell脚本#bin/bsah - lexport LANG=en_US.UTF-8export LANGUAGE=en_US.UTF-8export LC_ALL=en_US.UTF-8# 进入工程文件目录cd /Users//Desktop/Demo# 提交本地更改g...

2018-11-27 16:29:21 918

原创 数据去重(包括字符串,对象)

服务器获取到的数据 去重(包括字符串,对象)1.字符串数组去重1)利用NSDictionary的AllKeys(AllValues)方法NSArray *dataArray = @[@"2014-04-01",@"2014-04-02",@"2014-04-03",                           @"2014-04-01",@"2014-04-02",@"20.

2018-10-15 14:37:44 299

原创 react-native学习笔记---Mac环境WebStorm相关配置

做了几年的iOS开发,最近得空研究学习一下react-native,以后研究的方向也是react-native和iOS原生APP的结合。开发环境:MAC电脑 WebStorm网上搭建react-native开发环境的帖子层出不穷,大家可自行百度,对于编译器,WebStorm或Sublime Text或Visual Studio Code,三种我都下载体验了一下,最后选择了WebStorm,功能比较...

2018-06-13 18:05:53 2099 2

原创 iOS APP跟外设连接的学习研究

iOS APP跟外设连接的学习研究一、iOS连接外设的几种方式iOS App连接外设的常用方式,可以分为三大类:通过网络端口,建立Socket使用TCP/IP协议进行通信,它主要有三种方式:wi-fi连接 优点是:简单,不需要集成MFi芯片。缺点:信号容易受到干扰,不太稳定,容易断开;如果硬件使用的场合没有公共wifi,就需要手机自建热点共享,硬件进行热点接入,操作步骤较多。USB热点共享 和Wi...

2018-06-11 14:31:17 2065

原创 iOS使用fastlane一键打包

1.首先安装fastlanesudo gem install fastlane2.切换到工程目录(默认已安装xcode和命令行工具)fastlane init会看到四个选项,根据需要自己选择一个,然后一路enter3.生成了fastlane目录,该目录下包含了Appfile和Fastfile编辑Appfile编辑Fastfile4. fastlane betaDebug看到结果 fastlane....

2018-05-25 16:27:48 1430

原创 iOS-PDF预览(缩略图,横纵方向滑动切换,分享到第三方APP,打印等功能)

最近公司项目中增加了课件下载及本地文件预览的功能,课件类型主要支持Word,PDF,PPT,图片等类型,本文主要谈一下PDF的预览,主要包括缩略图预览,横纵方向滑动切换,分享到第三方APP,打印等功能。PDF文档预览主要有一下的几种方式:UIWebViewQLPreviewControllerUIDocumentInteractionControllerCGContexDraw

2018-02-06 15:06:39 1222 1

原创 iOS 浅谈MVVM+RAC

学习笔记之MVVM+RAC公司项目之前的很多年一直是用MVC框架,最近项目改版(加重构)提出了使用MVVM + RAC的框架结构,以达到各个部分模块代码之间的解耦。关于MVVM 以及RAC 还不太了解的同学请自行百度,我这里主要讲解下简单的使用。 以登录界面为例,需求如下: - 注册用户输入手机号密码登录 - 手机号获取验证码快速登录 - 游客登录 - 第三方(QQ,微信…)登录

2017-09-07 15:40:56 792 1

原创 NSTextAttachment实现图文混排

苹果在iOS7中推出了一个新的类NSTextAttachment,它是做图文混排的利器,本文就是用这个类,只用50行代码实现文字与表情混排,当然也可以实现段落中的图文混排。

2016-09-06 11:28:52 5483 1

转载 mac os 安装git 教程

从SVN转到git 我的过程是这样的 要弄懂如下几个问题:什么是Git----------------->为什么选择Git----------------->如何安装Git到MAC OS X------------------>如何使用Git具体如下;1, 首先要了解什么是Git。简而言之,Git是一个分布式的代码版本管理工具。类似的常用工具还有SVN,CVS。

2016-07-04 14:35:13 647

原创 iOS 8 之后的动态沙盒路径

在iOS8之前,我们获取到沙盒中的document、cache、tmp之后,下一次模拟器或真机无论重启多少次,这具体的路径是固定的,可是iOS8 之后,你要是在按原来的路径去找你想要的东西,我想它会把你坑的很惨.下面我就来说说自己的此次爬坑总结;1>//获取沙盒路径NSArray*path =NSSearchPathForDirectoriesInDomains(NSDocumentD

2016-05-06 16:32:46 2061

原创 使用断言NSAssert()调试程序错误

使用断言NSAssert()调试程序错误

2016-01-13 14:45:02 833

原创 安装cocoaposds遇到的问题并解决方案

方法一: 终端输入命令行 sudo gem install cocoapods异常:  发现半天没有任何反应因为那堵墙阻挡了cocoapods.org。方法二:我们可以用淘宝的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入依次敲入命令:下面要注意了:猛一看和其他博客写的命令是一样的 ,但是我相信有很多小伙伴和我一样都是照着这些命令敲了好几遍任然安装失败,我

2016-01-04 17:43:55 677

原创 iOS 图片加载 圆形进度条

项目中有加载网络图片的需求,加一个加载的进度条会提高用户体验,网络不好的时候会清晰的看到图片加载的进度,比让用户看着满屏幕空白好。下面是我们项目自己封装的圆形进度条,分享给大家。其实实现原理很简单,只是根据图片加载的进度来绘制一个圆。先来看.h文件,需要一个进度的属性和进度条展示位置的方法:@property (nonatomic, assign) CGFloat progress;

2015-05-18 12:21:59 3561 1

原创 iOS开发-修改状态栏文字颜色

首先targets-->info -->设置UIViewControllerBasedStatusBarAppearance 为NO然后在需要改变状态栏颜色的 AppDelegate中在didFinishLaunchingWithOptions 方法中增加: [[UIApplication sharedApplication] setStatusBarStyle:UIS

2015-02-07 14:51:59 929

原创 iOS开发之监听键盘高度的变化

最近做的项目中,有一个类似微博中的评论转发功能,屏幕底端有一个输入框用textView来做,当textView成为第一响应者的时候它的Y值随着键盘高度的改变而改变,保证textView紧贴着键盘,但又不会被键盘挡住。下面是我实现的方法:(利用通知)// 键盘通知 // 键盘的frame发生改变时发出的通知(位置和尺寸) // UIKeyboardWillChangeF

2015-02-04 14:55:21 4129

原创 iOS-对于把图片渲染成蓝色的修改方法

在之前开发的过程中,遇到过这样一个小问题:给button设置一张图片,图片是灰色,美工做的图肯定没有问题 ,给button设置图片的方法也很简单,一句代码搞定,但是运行的时候却发现,图片无缘无故变成了蓝色。后来自己研究了一下发现,在给一些控件设置图片的时候会默认把图片渲染成蓝色,找到问题所在,就好结局了,解决方法如下: UIButton *loginBtn = [[UIButton al

2015-02-03 14:57:10 4886

原创 Attempt to present on whose view is not in the window hierarchy!

在开发的时候,有时候会遇到1.ios attempt to present whose view is not in the window hierarchy2.Warning: Attempt to present on whose view is not in the window hierarchy!等等这样类似的提示,只要里面提示有 window hierarchy

2014-12-23 16:17:14 1993

原创 实现对UIAlertController和UIAlertView判断系统后的简单封装

iOS8之后用UIAlertController代替了UIAlertView,所以每次有需要弹窗的时候,都需要先判断系统,最近在做的项目中弹窗较多,如果每次都判断,真是太麻烦了,索性对UIAlertController和UIAlertView进行的封装了,封装在一个工具类中,在工具类中就对系统进行判断,然后在你需要弹窗的界面直接调用这个工具类的方法就可以了,减少了代码的耦合.这个工具类其实也封

2014-12-18 15:30:51 3437 4

原创 对于iOS 7 之后UITableViewCell左侧默认15像素的留白解决方法

开发笔记:对于iOS 7之后UITableViewCell左侧默认15像素的留白解决方法:在ios7中,UITableViewCell左侧会有默认15像素的空白。这时候,设置setSeparatorInset:UIEdgeInsetsZero能将空白去掉。但是在ios8中,设置setSeparatorInset:UIEdgeInsetsZero已经不起作用了。下面是解决办法

2014-12-08 16:35:34 2470

原创 iOS 8后系统定位功能的改动

看过我上一篇博文的朋友不知道有没有遇到新的问题,反正我是又遇到了,不过这次也是自己的疏忽,忘记判断不同系统的不同情况了.因为iOS 8之后,对系统定位的方法也做了一点儿小改动,就算是设置了代理也不会主动走代理方法,需要手动调用.不过要判断还是很简单的,直接上代码://定位 _locationManager = [[CLLocationManager alloc]init];

2014-12-08 15:22:56 807

原创 iOS开发之开启定位后遇到的问题

大家在开发的时候肯定遇到过后台需要用户的位置信息,所以我们在前端要进行定位,代码很简单:_locationManager = [[CLLocationManager alloc]init];_locationManager.delegate = self;_locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;

2014-12-08 15:04:55 1643

原创 匹配11位手机号码的正则表达式

最近在做一个即时通讯的项目, 首先是注册登录界面, 项目需求是通过用户输入的手机号码获取一个4位数的验证码来完成注册,那么, 问题来了?如何判断用户输入的手机号码是合法的正确的11位手机号码呢?(这些简单的问题就在前端判断好了再post给后台 ,没必要把各种没用的数据都post给后台) 判断手机号码是否正确的方法很多,我是用正则表达式来完成匹配的,废话不多说,直接上代码: //正则表达

2014-12-08 14:46:37 33686 2

获取IOS系统相册中的图片源码

这是我自己做的一个从IOS系统的相册获取照片的demo,把获取到的照片用一个tableview现实出来,对于新接触这个功能的你会有帮助的.代码简洁易懂.

2014-09-20

空空如也

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

TA关注的人

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