- 博客(69)
- 资源 (16)
- 收藏
- 关注
原创 原生(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 1390 1
原创 Flutter架构设计
1、如果是新项目一般使用统一管理模式,如果是在原生项目上集成Flutter模块,一般是三端分离模式2、架构设计大纲下面是我的画的一个架构大纲总览。
2021-08-07 22:44:31 492
原创 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 136
原创 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 738
原创 Flutter状态管理--GetX的简单使用
一、前言Flutter开发,就需要对各种状态的管理,就是在请求数据的时候需要实时变化,各种交互变化等,在没有使用GetX之前使用Provider,用Provider的时候觉得真香,挺方便的,需要刷新的时候直接 notifyListeners(); 用了GetX之后觉得Provider太繁琐了。这边介绍下GetX的使用以及常用的方法。二、 GetXGetX 是 Flutter 上的一个轻量且强大的解决方案:高性能的状态管理、智能的依赖注入和便捷的路由管理。1、相关优势:1、轻量,可以模块单独编译,没
2021-06-26 20:26:16 4424 2
原创 Flutter-绘制学习-基本的认识一
一、前言:随着技术的加速前进和市场千变万化的需求,在开发过程会明显的感觉到系统提供的基础UI组件/控件满足不了当下的需求,特别是动画效果,和一些图表类的需求,找一些别人写好的轮子,总感觉有差异,总觉得还差点什么,不能百分百的满足自己的需求。由此说明需要了解掌握绘制的的本质,掌握绘制的能力,万变不离其中,想怎么画怎么画,需求怎么怎么出怎么出。二、需求:绘制能力三、行动:...
2021-06-18 18:34:36 250 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 160
原创 Flutter包(package)的开发和发布以及使用
一、前言在开发的时候,总会遇到一些琐碎的工作,但又不得不做的事情,比如基础组件的开发,定制类的组件并且多地方使用的,还有业务相同,只是数据不同的业务组件,这些基本都要封装一层,便于多个使用调用,但是如果遇到多个app,就会觉得这些琐事的工作都是重复工作,没有意义,连Comand+CV的时间都不想花费,所以就需要组件化,模块化,然后开发成插件/包。这样在需要使用的app直接引用插件即可。这边记录下开发包的过程。插件后续记录,其实开发包和插件流程是一样的。二、需求把基础组件,常用的工具类,样式,网络请求等
2021-06-03 23:05:37 1169 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 1443
原创 机型尺寸
5 640x11366/7/8 750x13346/7/8p 1242x2208X/Xs 1125x2436XsMax 1242x2688XR 828x1792
2018-12-25 17:57:24 232
原创 UIStoryboard的简单封装
在项目中很多人使用storyboard开发,这里跳转的我列举几种方法第一种方法应该是大家用的最多的UIStoryboard *storyboard = [UIStoryboard storyboardWithName:kOwnerMineStoryBoard bundle:nil];OwnerPersonalInformationViewController *ownerPersonalInfor
2016-11-02 15:47:08 632
原创 ios10相机 相册等权限问题
要适配iOS10 需要修改一些权限 苹果对iOS权限的问题要求更高了 设置也很简单,在info.plist —Source Code<!-- 相册 --> <key>NSPhotoLibraryUsageDescription</key> <string>App需要您的同意,才能访问相册</string> <!-- 相机 --> <key>NSCameraUsageDescription<
2016-10-25 20:01:48 824
原创 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 3611
原创 AFNetWorking3.0 处理请求头 和 请求内容
封装一个AFN处理请求头 和 请求内容/** * 对AFNetWorking进行基本封装(不处理code值, 不显示HUD) * * @param urlString 请求url * @param parameters 参数 * @param success 请求成功,含code值的 数据 * @param failure 请求失败 */+ (void)bas
2016-10-24 20:16:13 2948
原创 取消iOS10和iOS9以下导航栏黑线
if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]) { NSArray *list=self.navigationController.navigationBar.subviews; for (
2016-10-22 18:45:29 1228
原创 修改TextView的placeholder
修改TextView的placeholder使用runtime 使用kvc- (void)setupTextView{ // _placeholderLabel UILabel *placeHolderLabel = [[UILabel alloc] init]; placeHolderLabel.text = @"请输入您宝贵的意见或建议。(200字以内)";
2016-10-22 18:38:34 534
原创 iOS10 去掉导航栏分割线
if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]) { NSArray *list=self.navigationController.navigationBar.subviews; for (
2016-09-27 20:28:33 1758
原创 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 401
原创 iOS开发 改状态栏颜色
状态栏分为两种颜色,默认的是黑色,想要改成白色,只需两步 第一步:在项目plist文件,添加view controller-based status bar appearance ,设置成NO。 第二步:在appDelete里面添加代码- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(N
2016-09-08 21:22:05 338
原创 iOS---NSNotification使用解析
一、使用步骤 使用NSNotification很简单, 只要三步 1、添加观察者 在需要的地方注册要观察的通知[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(update:) name:@"userName" object:nil];2、发送通知 在某地方发送通知NSDiction
2016-08-30 14:53:40 612
原创 iOS---KVO(Key Value Observing) 观察者模式之解析与应用
一、概述 KVO(Key Value Observing) 观察者设计模式。通过KVO这种机制对象可以通过它得到其他对象的某个属性的变更通知。KVO可以让视图对象经过控制器观察模型对象的变更从而做出更新等操作。 KVO提供一种机制,指定一个被观察对象(例如StockData类),当对象某个属性(如StockData中的变量 price)发生更改时,对象会获得通知,
2016-08-26 18:17:21 1094
原创 Objective-C ---强大的KVC(key valued coding 键值编码) 详解
以前KVC只是简单会用,但不了解KVC的真正强大,突然觉得,现在能在功能上都实现,但却不懂一些机制的特性,从此我在慢慢捡回来,发现了解一些原理还是蛮有趣的。今天学习下KVC机制。一、简介 KVC key valued coding 键值编码 KVC通过键值间接编码 如果想要设置类的私有变量的值,开通通过KVC来设置和获取 KVC提供了一种在运行时而非编译时动态
2016-08-25 20:00:12 915
原创 iOS多线程编程(四)------ GCD(Grand Central Dispatch)
一、简介 是基于C语言开发的一套多线程开发机制,也是目前苹果官方推荐的多线程开发方法,用起来也最简单,只是它基于C语言开发,并不像NSOperation是面向对象的开发,而是完全面向过程的。如果使用GCD,完全由系统管理线程,我们不需要编写线程代码。只需定义想要执行的任务,然后添加到适当的调度队列(dispatch_queue).GCD会负责创建线程和调度你的任务,系统会直接提供线
2016-08-24 20:34:34 1971
原创 iOS多线程编程(三)------ NSOperation
一、NSOperation简介1、NSOperation比NSThread用起来方便许多,也更多的满足了我们的需求。 2、NSOpertion 与 NSOperationQueue 结合使用; NSOperationQueue 相当于一个管理器, 来管理线程操作,只要将一个NSOperation(实际开发中需要使用其子类 NSInvocationOperation、NSBlockOperat
2016-08-23 20:39:25 461
原创 iOS多线程编程(二)------ NSThread
iOS多线程开发一 使用NSThread 因为这个在实际开发项目中用的不多,所以会简单使用就好一、NSThread(显示创建线程) 有两种方式创建线程,在主线程中更新UI,只能传一个参数,停止线程调用exist方法 1.类方法 +(void)detachNewThreadSelector:(SEL)selector toTarget:(id)target withObject:(id)argu
2016-08-23 20:25:23 358
原创 iOS多线程编程(一)------ 基本概念
一、概述 在开发过程中,最烦的就是等待时间很长,比如开发过程中,编译器突然卡了,什么也操作不了,只能等待,这个时候是最揪心的。又不能强制关了,怕有些数据没有保存。 在用户使用我们的开发的应用的时候,也一样,尽量让用户减少等待时间,尽可能快的完成运算。二、什么是多线程 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者部分程序的动态执行。线
2016-08-23 20:11:37 364
原创 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 758
原创 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 725
原创 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 2427
原创 保存图片到系统相册(Swift版)
swift 保存图片到系统相册(效果如下)// 保存到相册 @IBAction func saveToPhoto(sender: AnyObject) { print("保存到相册") UIImageWriteToSavedPhotosAlbum(self.myQRCodeImageView.image!, self, "image:didFinishSavi
2016-08-05 18:09:07 1057
原创 自己写的常用方法(Swfit版)
记载一些常用的公共方法 不断更新中····/** 判断字符串是否为空 - parameter str: String - returns: true Or false */ class func judgeIsEmptyWithString(str:String) -> Bool { if str.isEmpty {
2016-08-04 18:58:54 411
原创 使用UICollectionView实现一个列表头部拉伸效果(下拉放大)(OC 和 Swift)
先看效果图 突然发现没有做出来之前都觉得蛮难的,做出来之后就觉得So Easy 大家都有这样的感触吧做这个就重写 UICollectionViewFlowLayout的几个方法就可以OC版本 创建一个类 CustomCollectionViewFlowLayout 继承 UICollectionViewFlowLayout//// CustomCollectionViewFlowLayou
2016-08-04 18:51:36 4456 2
原创 八月开篇语(心理学与生活读后感一)
大半年过去了,感觉没有什么收获,最近算比较闲一点,项目不是很赶,就自己学习了一些新东西,看看Swift, 还有一些其他以前没有时间学习,落下的;现在下班没事,都会散步回家,欣赏下夜景。最近也再看一本书:心理学与生活,我觉得应该扩张自己其他的知识面,不能只在技术上前行,在生活沟通上得向前。因为现阶段的我们压力还是有的。所以得肩负起责任,学会抗压。心理学与生活,主要讲如何与人交际,察言观色,在人际交往中
2016-08-03 19:26:31 902
原创 XCode自定义模板(支持OC和Swift)
下载的模板地址可以直接使用,但要在项目中创建BaseViewController类 也可以自己修改。模板地址:http://download.csdn.net/detail/yj229201093/9589557
2016-08-02 15:06:56 480
原创 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 4283
原创 iOS9 3DTouch 新特性之实现过程—OC版
一、前言 因最近入手一个6sp, 看着3DTouch 挺好玩的,就想自己实现下, 3D Touch 听上去好高端,很难开发的样子,但原来那么简单,往往看着复杂高端的的东西其实简单。因为很多都是现成可用的。 好了 上代码二、配置、设置、实现 1.静态配置 & 动态 配置 1.1 静态配置 首先打开plist文件 1.2 在plist添加 UIA
2016-07-20 15:57:12 1304
原创 Swift---UIAlertController封装
import Foundationimport UIKitclass YJAlertControllerTool { /** alterController 两个按钮 处理otherBtn事件 - parameter currentVC: 当前控制器 - parameter meg: 提示消息 - parameter cancelBtn:
2016-07-04 18:50:55 1560
原创 Swift---AFNetworking封装
可直接使用class YJAFNHelperManager: NSObject { /** post请求 不处理code值 - parameter urlString: 请求的url - parameter parameters: 请求的参数 - parameter success: 请求成功回调 - parameter failure:
2016-07-04 18:44:46 434
原创 Swift---网络判断封装(可直接使用)
import Foundationclass YJNetWorkManager: NSObject { /** 判断网络类型 - returns:返回值字符串 wifi(kReachableViaWiFi) 移动网网络(kReachableViaWWAN) 无网络(kNotReachable) */ class func rechabilityWith2GA
2016-07-04 18:42:38 1255
iOS --GCD详解
2016-08-24
NSOperationDemo
2016-08-23
iOS多线程之NSThread详解
2016-08-22
XCode自定义模板(支持Swift,OC)
2016-07-29
iOS指纹识别功能
2015-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人