自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

建古的编码生活

只为记录自己的码农生活···

  • 博客(69)
  • 资源 (16)
  • 收藏
  • 关注

原创 谈谈Flutter适配深色模式

Flutter适配深色模式,全局适配。

2021-05-29 22:32:22 1110

原创 原生(iOS)与Flutter混合开发步骤

一、前言:目前混合开发属于主流,因为多数都在原来的项目上集成Flutter模块,除非新的项目用纯Flutter,那是挺爽的。混合开发多数会有点坑吧。现在记录下混合开发的坑二、集成(以iOS为例),使用Pods方式1、首先创建一个Flutter模块(非Flutter项目,是模块)2、创建后之后,把原生项目和Flutter模块放在一个文件夹下,同一层级。3、原生项目打开Podfile,加入Flutter,如下// my_flutter 是创建Flutter的模块名称flutter_applica

2021-08-21 00:10:24 1339 1

原创 Flutter架构设计

1、如果是新项目一般使用统一管理模式,如果是在原生项目上集成Flutter模块,一般是三端分离模式2、架构设计大纲下面是我的画的一个架构大纲总览。

2021-08-07 22:44:31 466

原创 2021-08-02

M1 执行pod报错sudo arch -x86_64 gem install ffi//第一次 需要 如下 后面 直接 pod install 就可以了arch -x86_64 pod install终端勾选

2021-08-02 15:24:51 123

原创 Flutter环境变量配置

1、打开配置文件方式一:vim ~/.bash_profile vim编辑退出vim: 编辑状态下,按esc, 输入 :wq 保存退出方式二:open ~/.bash_profile 打开配置文件 可视化编辑2、编辑配置文件export PATH=/Users/yangjian/Documents/Flutter/flutter/bin:$PATHexport PUB_HOSTED_URL=https://pub.flutter-io.cnexport FLUTTER_STORAGE_BAS

2021-07-30 10:52:41 699

原创 Flutter状态管理--GetX的简单使用

一、前言Flutter开发,就需要对各种状态的管理,就是在请求数据的时候需要实时变化,各种交互变化等,在没有使用GetX之前使用Provider,用Provider的时候觉得真香,挺方便的,需要刷新的时候直接 notifyListeners(); 用了GetX之后觉得Provider太繁琐了。这边介绍下GetX的使用以及常用的方法。二、 GetXGetX 是 Flutter 上的一个轻量且强大的解决方案:高性能的状态管理、智能的依赖注入和便捷的路由管理。1、相关优势:1、轻量,可以模块单独编译,没

2021-06-26 20:26:16 4312 2

原创 Flutter-绘制学习-基本的认识一

一、前言:随着技术的加速前进和市场千变万化的需求,在开发过程会明显的感觉到系统提供的基础UI组件/控件满足不了当下的需求,特别是动画效果,和一些图表类的需求,找一些别人写好的轮子,总感觉有差异,总觉得还差点什么,不能百分百的满足自己的需求。由此说明需要了解掌握绘制的的本质,掌握绘制的能力,万变不离其中,想怎么画怎么画,需求怎么怎么出怎么出。二、需求:绘制能力三、行动:...

2021-06-18 18:34:36 226 1

原创 pull_to_refresh Error: No named parameter with the name ‘keyboardDismissBehavior‘

导入 导入插件 pull_to_refresh: ^1.6.4 报错解决方案改成 pull_to_refresh: 1.6.3 记住 不要^ 固定写死版本即可。 不然你写pull_to_refresh: ^1.6 出来的还是 pull_to_refresh: 1.6.4 的版本。

2021-06-12 00:11:18 145

原创 Flutter包(package)的开发和发布以及使用

一、前言在开发的时候,总会遇到一些琐碎的工作,但又不得不做的事情,比如基础组件的开发,定制类的组件并且多地方使用的,还有业务相同,只是数据不同的业务组件,这些基本都要封装一层,便于多个使用调用,但是如果遇到多个app,就会觉得这些琐事的工作都是重复工作,没有意义,连Comand+CV的时间都不想花费,所以就需要组件化,模块化,然后开发成插件/包。这样在需要使用的app直接引用插件即可。这边记录下开发包的过程。插件后续记录,其实开发包和插件流程是一样的。二、需求把基础组件,常用的工具类,样式,网络请求等

2021-06-03 23:05:37 1100 8

原创 flutter Could not find the built application bundle at build/ios/iphoneos/Runner.app.

flutter Could not find the built application bundle at build/ios/iphoneos/Runner.app. 报这个错的时候 是因为改了app包名 导致解决方案:改回 appName 为Runner. Select Runner->Runner(Target)->Build Settings->Packaging-> "Product Name" change it to Runner.如果要改app名称 在i..

2020-07-31 15:07:50 1392

原创 机型尺寸

5 640x11366/7/8 750x13346/7/8p 1242x2208X/Xs 1125x2436XsMax 1242x2688XR 828x1792

2018-12-25 17:57:24 206

原创 UIStoryboard的简单封装

在项目中很多人使用storyboard开发,这里跳转的我列举几种方法第一种方法应该是大家用的最多的UIStoryboard *storyboard = [UIStoryboard storyboardWithName:kOwnerMineStoryBoard bundle:nil];OwnerPersonalInformationViewController *ownerPersonalInfor

2016-11-02 15:47:08 617

原创 ios10相机 相册等权限问题

要适配iOS10 需要修改一些权限 苹果对iOS权限的问题要求更高了 设置也很简单,在info.plist —Source Code<!-- 相册 --> <key>NSPhotoLibraryUsageDescription</key> <string>App需要您的同意,才能访问相册</string> <!-- 相机 --> <key>NSCameraUsageDescription<

2016-10-25 20:01:48 809

原创 iOS字典 setValue 和 setObject的区别

实例说明NSString name = @"张三";NSString name1 = nil;NSMutableDictionary *paramters = [[NSMutableDictionary alloc] init];[paramters setObject:name forKey:@"userName"]; // 不会奔溃NSMutableDictionary *paramters

2016-10-24 20:38:39 3584

原创 AFNetWorking3.0 处理请求头 和 请求内容

封装一个AFN处理请求头 和 请求内容/** * 对AFNetWorking进行基本封装(不处理code值, 不显示HUD) * * @param urlString 请求url * @param parameters 参数 * @param success 请求成功,含code值的 数据 * @param failure 请求失败 */+ (void)bas

2016-10-24 20:16:13 2912

原创 取消iOS10和iOS9以下导航栏黑线

if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]) { NSArray *list=self.navigationController.navigationBar.subviews; for (

2016-10-22 18:45:29 1213

原创 修改TextView的placeholder

修改TextView的placeholder使用runtime 使用kvc- (void)setupTextView{ // _placeholderLabel UILabel *placeHolderLabel = [[UILabel alloc] init]; placeHolderLabel.text = @"请输入您宝贵的意见或建议。(200字以内)";

2016-10-22 18:38:34 522

原创 iOS10 去掉导航栏分割线

if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]) { NSArray *list=self.navigationController.navigationBar.subviews; for (

2016-09-27 20:28:33 1744

原创 iOS 修改TextField中 placeholder颜色

// 利用kvc 修改 颜色 [self.userNameTextField setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"]; [self.passwordTextField setValue:[UIColor whiteColor] forKeyPath:@"_placeholderL

2016-09-08 22:33:04 389

原创 iOS开发 改状态栏颜色

状态栏分为两种颜色,默认的是黑色,想要改成白色,只需两步 第一步:在项目plist文件,添加view controller-based status bar appearance ,设置成NO。 第二步:在appDelete里面添加代码- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(N

2016-09-08 21:22:05 324

原创 iOS---NSNotification使用解析

一、使用步骤 使用NSNotification很简单, 只要三步 1、添加观察者 在需要的地方注册要观察的通知[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(update:) name:@"userName" object:nil];2、发送通知 在某地方发送通知NSDiction

2016-08-30 14:53:40 594

原创 iOS---KVO(Key Value Observing) 观察者模式之解析与应用

一、概述 KVO(Key Value Observing) 观察者设计模式。通过KVO这种机制对象可以通过它得到其他对象的某个属性的变更通知。KVO可以让视图对象经过控制器观察模型对象的变更从而做出更新等操作。 KVO提供一种机制,指定一个被观察对象(例如StockData类),当对象某个属性(如StockData中的变量 price)发生更改时,对象会获得通知,

2016-08-26 18:17:21 1077

原创 Objective-C ---强大的KVC(key valued coding 键值编码) 详解

以前KVC只是简单会用,但不了解KVC的真正强大,突然觉得,现在能在功能上都实现,但却不懂一些机制的特性,从此我在慢慢捡回来,发现了解一些原理还是蛮有趣的。今天学习下KVC机制。一、简介 KVC key valued coding 键值编码 KVC通过键值间接编码 如果想要设置类的私有变量的值,开通通过KVC来设置和获取 KVC提供了一种在运行时而非编译时动态

2016-08-25 20:00:12 895

原创 iOS多线程编程(四)------ GCD(Grand Central Dispatch)

一、简介 是基于C语言开发的一套多线程开发机制,也是目前苹果官方推荐的多线程开发方法,用起来也最简单,只是它基于C语言开发,并不像NSOperation是面向对象的开发,而是完全面向过程的。如果使用GCD,完全由系统管理线程,我们不需要编写线程代码。只需定义想要执行的任务,然后添加到适当的调度队列(dispatch_queue).GCD会负责创建线程和调度你的任务,系统会直接提供线

2016-08-24 20:34:34 1948

原创 iOS多线程编程(三)------ NSOperation

一、NSOperation简介1、NSOperation比NSThread用起来方便许多,也更多的满足了我们的需求。 2、NSOpertion 与 NSOperationQueue 结合使用; NSOperationQueue 相当于一个管理器, 来管理线程操作,只要将一个NSOperation(实际开发中需要使用其子类 NSInvocationOperation、NSBlockOperat

2016-08-23 20:39:25 448

原创 iOS多线程编程(二)------ NSThread

iOS多线程开发一 使用NSThread 因为这个在实际开发项目中用的不多,所以会简单使用就好一、NSThread(显示创建线程) 有两种方式创建线程,在主线程中更新UI,只能传一个参数,停止线程调用exist方法 1.类方法 +(void)detachNewThreadSelector:(SEL)selector toTarget:(id)target withObject:(id)argu

2016-08-23 20:25:23 347

原创 iOS多线程编程(一)------ 基本概念

一、概述 在开发过程中,最烦的就是等待时间很长,比如开发过程中,编译器突然卡了,什么也操作不了,只能等待,这个时候是最揪心的。又不能强制关了,怕有些数据没有保存。 在用户使用我们的开发的应用的时候,也一样,尽量让用户减少等待时间,尽可能快的完成运算。二、什么是多线程 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者部分程序的动态执行。线

2016-08-23 20:11:37 349

原创 This application is modifying the autolayout engine from a background thread, which can lead to engi

当添加了子线程,没有回到主线程中刷新UI 会报错 This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes. This will cause an exception in a future

2016-08-19 15:49:45 739

原创 XCode7报 App Transport Security has blocked a cleartext HTTP (http://) resource load since it is inse

xcode7 报 App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app’s Info.plist file. 错误应用交通安全已经阻止了明文的HTTP(ht

2016-08-19 14:34:24 713

原创 iOS 指定压缩大小(UIImage扩张)--Swift/OC版

UIImageExtension.swift//// UIImageExtension.swift// GongFuBaoSwift//// Created by GongHui_YJ on 16/8/12.// Copyright © 2016年 杨建. All rights reserved.//// _ooOoo_/

2016-08-13 10:19:35 2404

原创 保存图片到系统相册(Swift版)

swift 保存图片到系统相册(效果如下)// 保存到相册 @IBAction func saveToPhoto(sender: AnyObject) { print("保存到相册") UIImageWriteToSavedPhotosAlbum(self.myQRCodeImageView.image!, self, "image:didFinishSavi

2016-08-05 18:09:07 1036

原创 自己写的常用方法(Swfit版)

记载一些常用的公共方法 不断更新中····/** 判断字符串是否为空 - parameter str: String - returns: true Or false */ class func judgeIsEmptyWithString(str:String) -> Bool { if str.isEmpty {

2016-08-04 18:58:54 399

原创 使用UICollectionView实现一个列表头部拉伸效果(下拉放大)(OC 和 Swift)

先看效果图 突然发现没有做出来之前都觉得蛮难的,做出来之后就觉得So Easy 大家都有这样的感触吧做这个就重写 UICollectionViewFlowLayout的几个方法就可以OC版本 创建一个类 CustomCollectionViewFlowLayout 继承 UICollectionViewFlowLayout//// CustomCollectionViewFlowLayou

2016-08-04 18:51:36 4389 2

原创 八月开篇语(心理学与生活读后感一)

大半年过去了,感觉没有什么收获,最近算比较闲一点,项目不是很赶,就自己学习了一些新东西,看看Swift, 还有一些其他以前没有时间学习,落下的;现在下班没事,都会散步回家,欣赏下夜景。最近也再看一本书:心理学与生活,我觉得应该扩张自己其他的知识面,不能只在技术上前行,在生活沟通上得向前。因为现阶段的我们压力还是有的。所以得肩负起责任,学会抗压。心理学与生活,主要讲如何与人交际,察言观色,在人际交往中

2016-08-03 19:26:31 877

原创 XCode自定义模板(支持OC和Swift)

下载的模板地址可以直接使用,但要在项目中创建BaseViewController类 也可以自己修改。模板地址:http://download.csdn.net/detail/yj229201093/9589557

2016-08-02 15:06:56 466

原创 Swift Cocoapods use_frameworks!(报error Bridging header 'XXXXXX-Bridging-Header.h' does not exist 错误)

cocoapods use_frameworks!问题 Switf编程的时候有些第三方库需要依赖OC的frameworks 但加了use_frameworks! 这个时候就会报错,说找不到头文件 还会报错桥接文件找不到了,这个问题郁闷了好久,error Bridging header 'XXXXXX-Bridging-Header.h' does not exist去掉就不会报错,但有些第三库用

2016-07-21 13:56:24 4261

原创 iOS9 3DTouch 新特性之实现过程—OC版

一、前言 因最近入手一个6sp, 看着3DTouch 挺好玩的,就想自己实现下, 3D Touch 听上去好高端,很难开发的样子,但原来那么简单,往往看着复杂高端的的东西其实简单。因为很多都是现成可用的。 好了 上代码二、配置、设置、实现 1.静态配置 & 动态 配置 1.1 静态配置 首先打开plist文件 1.2 在plist添加 UIA

2016-07-20 15:57:12 1283

原创 Swift---UIAlertController封装

import Foundationimport UIKitclass YJAlertControllerTool { /** alterController 两个按钮 处理otherBtn事件 - parameter currentVC: 当前控制器 - parameter meg: 提示消息 - parameter cancelBtn:

2016-07-04 18:50:55 1543

原创 Swift---AFNetworking封装

可直接使用class YJAFNHelperManager: NSObject { /** post请求 不处理code值 - parameter urlString: 请求的url - parameter parameters: 请求的参数 - parameter success: 请求成功回调 - parameter failure:

2016-07-04 18:44:46 424

原创 Swift---网络判断封装(可直接使用)

import Foundationclass YJNetWorkManager: NSObject { /** 判断网络类型 - returns:返回值字符串 wifi(kReachableViaWiFi) 移动网网络(kReachableViaWWAN) 无网络(kNotReachable) */ class func rechabilityWith2GA

2016-07-04 18:42:38 1230

iOS贝塞尔曲线

iOS贝塞尔曲线,写的demo 参考网上学习的 不要分的,但是好像资源费至少2分

2017-10-25

ios kvo详解

1、注册观察者,实施监听。 2、在回调方法中处理属性发生的变化 3、移除观察者

2016-08-26

KVC键值编码

KVC key valued coding 键值编码

2016-08-25

iOS --GCD详解

1、异步并发队列(同时开启N个线程) // [self asynchronousConcurrent]; 2、异步串行队列(会开启线程,但是只开启一个线程) // [self asynchronousSerial] 3、同步并发队列(不会开启新的线程,并发队列失去并发的功能) // [self synchronousConcurrent] 4、同步串行队列(不会开启新的线程) // [self synchronousSerial]

2016-08-24

NSOperationDemo

NSInvocationOperationViewController: NSOperation 的子类 NSInvocationOperation 线程的基本使用 NSBlockOperationViewController: NSOperation 的子类 NSBlockOperation 线程的基本使用 NSOperationQueueViewController: 线程的依赖关系

2016-08-23

iOS多线程之NSThread详解

iOS多线程开发一 使用NSThread NSThread的基本使用 // demo说明 NSThreadDemoOne: 简单使用多线程,区分有多线程和没有多线的区别 NSThreadDemoTwo: 因为NSThread只能传一个一个参数,如果咬传递多个参数,使用封装对象 传一个对象然后自己分解; 也可以指定某个线程优先执行 NSThreadDemoThree:在运行的时候,停止没有完成的线程操作。 线程状态分为isExecuting(正在执行)、 isFinished(已经完成)、isCancelled(已经取消)三种。其中取消状态程序可以干预设置,只要调用线程cancel方法即可。但是需要注意在主线程中仅仅能设置线程状态,并不能真正停止当前线程,如果要终止线程必须在线程中调用exist方法,这是一个静态方法,调用该方法可以退出当前线程。

2016-08-22

XCode自定义模板(支持Swift,OC)

XCode自定义模板(支持Swift,OC) 我这边默认基础BaseViewController类 要在项目中存在这个BaseViewController类,也可以自己修改基础其他类。

2016-07-29

Swift教程中文版

Swift教程中文版,这边还不错,基本语法··

2016-06-23

iOS生成指定大小的 二维码 和 条形码

二维码生成 条形码生成 已经写好封装 可以直接使用

2016-06-07

RuntimeDemo

runtime的基本使用,

2016-06-03

iOS 获取手机通信录(仿微信 支付宝 手机话费 流量充值效果)

iOS 获取手机通信录,仿微信 支付宝 手机话费 流量充值效果,获取手机通讯录,点击号码直接获取手机号码

2016-05-17

iOS指纹识别功能

iOS指纹识别功能Demo LAContext *myContext = [[LAContext alloc] init]; NSError *authError = nil; NSString *myLocalizedReasonString = @"通过Home键验证已有手机指纹"; if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) { NSLog(@"Touch ID可以使用"); [myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:myLocalizedReasonString reply:^(BOOL success, NSError * _Nullable error) { if (success) { // 成功 NSLog(@"成功"); UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; SuccessViewController *successVC = [storyboard instantiateViewControllerWithIdentifier:@"SuccessViewController"]; [self.navigationController pushViewController:successVC animated:YES]; } else { // 获取到相应的错误信息····做相应的操作 // 失败 } }]; }else { // NSLog(@"Touch ID 不可用"); }

2015-12-20

iOS手机银行卡号输入格式化

iOS手机银行卡号输入格式化

2015-11-16

web服务验证信用卡

自己编写的webServers来验证信用卡是否有效,及异常处理 共初学者学习

2011-11-03

购物车信用卡服务验证

一个简单购物车信用卡服务验证,利用web服务来验证信用卡是否有效,及异常处理!共初学者学习,

2011-11-03

C#语法基础,C#基础

自己整理的···C#语言基础··· 一些经典的试题·

2011-03-21

空空如也

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

TA关注的人

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