自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (3)
  • 收藏
  • 关注

原创 截取固定宽度字符串

iOS 截取固定宽度字符串

2022-08-09 19:30:08 256 1

原创 iOS 使用MQTT接收消息

一:pod添加pod 'MQTTClient'二:引用#import <MQTTClient/MQTTClient.h>#import <MQTTClient/MQTTSessionManager.h>三:编译报错如下iOS Use of ‘@import’ when C++ modules are disabled四:使用//// CSMQTTManagement.m// CStar//// Created by imac on 2021/10/1

2021-10-11 15:17:03 828

原创 Mac中如何搭建Vue项目并利用VSCode开发

一:安装nvmnvm:node版本管理工具,可以根据项目需要切换使用不同的node和npm版本。node.js:项目开发时需要的代码库,node里包含了npm,webpage等开发工具。提供了javascript运行环境,将vue代码进行解析和在调试时热更新到网页。npm:是node.js的包管理工具。vue的安装和打包及依赖引入都需要使用npm。官网:https://github.com/nvm-sh/nvm控制台输入以下命令进行安装,安装成功后需要重启控制台curl -o- https:

2021-02-03 03:08:33 955

原创 iOS导入ffmpeg库

1.将编译好的ffmpge库拖入工程2.添加项目依赖3:添加ffmpeg库的搜索路径4.添加引用并调用一个函数,然后运行项目看是否有报错来验证导入正确与否

2020-12-11 00:10:01 351

原创 iOS 组建化之创建静态Framework

1:创建Framework2:将使用到的第三方库用cocoapods倒入一:进入Framework工程目录,创建Podfile文件$ cd /Users/imac/Desktop/new/CFBaseFramework$ touch Podfile二:打开创建的Podfile文件并添加内容,完成后保存platform :ios, '9.0'inhibit_all_warnings!target 'CFBaseFramework' do# 网络数据库pod 'AFNetwor

2020-12-02 17:45:08 515

原创 flutter加入到现有iOS项目

1、创建 Flutter module在桌面创建project目录cd /Users/imac/Desktop/projectflutter create --template module my_flutter2、将iOS项目(CureFunNew)放入my_flutter同一级目录iOS项目(MyApp)放入后project目录结构/Users/imac/Desktop/project/├── my_flutter/│ └── .ios/│ └── Flutter/

2020-11-30 16:27:34 320

转载 Mac中如何搭建Vue项目并利用VSCode开发

一:设置Mac环境(1)安装Node环境:点击进入下载页面 ,找到下载好的Node包,双击进入Node.js安装器界面默认安装即可。(默认是安装了npm,我们可以在终端中输入node -v和npm -v命令,分别查看node和npm的版本是多少,若Node安装成功后在终端只会输出版本号,若不是这些信息就表明安装失败了)    (2)配置淘宝镜像  要是你能正常访问国外的网站,也可以不用配置淘宝镜像了;在国内最好还是配置一下比较好,在终端中运行下面这条命令:  npm i -g cnpm --reg

2020-11-02 11:17:31 2182 1

原创 Flutter Mac安装教程

安装教程Flutter MAC安装中文网站 https://flutterchina.club一:下载SDK 解压到“资源库”目录 /Library二:打开并编辑bash_profile文件vi ~/.bash_profile在~/.bash_profile设置环境变量如下export PATH=/Library/flutter/bin:$PATHexport PUB_HOSTED_URL=https://pub.flut

2020-10-28 16:59:27 617

原创 UIDocumentPickerViewController操作系统自带“文件”app中文件

通过UIDocumentPickerViewController 访问iPhone自带应用“Files(文件) APP”。前提条件:1:iOS 系统为11.0及以上2:Xcode中开启iCloud配置导入文件功能NSArray *documentTypes = @[@"com.adobe.pdf",@"public.content", @"public.text", @"public.source-code ", @"public.image", @"public.audiovisual-con

2020-10-27 14:56:31 4303

原创 JavaScript:BOM

BOMBOM (Browse Object Mode):即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是WindowBOM 由一系列相关对象构成,并且对每个对象提供了很多方法与属性BOM 缺乏标准,兼容性比较差WindowWindow包含对象:document、 location 、navigation 、screen、 historywindow 对象是浏览器的顶级对象,它具有双重角色1:他是JS访问浏览器窗口的一个接口2:他是一个全局对象。定义在全局

2020-10-27 14:54:21 142

原创 JavaScript:DOM

DOM简介文档对象模型(Document Object Model),是W3C推荐处理可扩展标记语言(HTML或XML)的标准编程接口W3C已经定义了一系列的DOM接口,通过这些DOM接口可以改变网页的内容,结构和样式DOM树文档:一个页面就是一个文档,DOM中使用document表示元素:页面中所有的标签都是元素,DOM中使用element表示节点:页面中所有的内容都是节点(标签,属性,文本,注释),DOM中使用node表示获取元素getElementById()使用getEle

2020-10-25 01:01:44 470 1

原创 JavaScript一些概念

JavaScript的执行浏览器分为:渲染器和JS引擎渲染器:用来解析HTML和CSS,俗称内核。chrome的blink和webkit都是内核JS引擎:也称JS解释器。用来读取网页中的JavaScript代码,对其处理后运行,比如chrome浏览器的V8JS引擎运行分为两步:预解析,代码执行预解析:JS引擎会把JS里面所有的va r 还有function提升到当前作用域的最前面代码执行:按照代码书写顺序从上往下执行浏览器本身并不执行JS代码,而是通过内置的JavaScript引擎来执行J

2020-10-24 16:55:26 149

原创 Web布局:标准流,浮动,定位

元素显示模式(display)元素显示模式就是元素(标签)以什么方式进行显示,比如自己占一行,比如一行可以放多个HTML元素一般分为两类:块元素,行内元素块元素(display:blcok)元素独占一行,一行只能放一个的元素(标签)叫块元素常见块元素有:<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>为常见块元素特点独占一行高度,宽度,外边距及内

2020-10-22 20:40:43 577

原创 Flutter: 自定义搜索框

效果实现方式import 'package:dio/dio.dart';import 'package:flutter/material.dart';import 'package:keduo/base/baseSize.dart';import 'package:keduo/utils/icon_utils.dart';class SearchBarWidget extends StatefulWidget { final ValueChanged<String> onch

2020-09-15 14:53:09 1931 1

原创 Flutter: 单例

单例一般有这几个特征:隐藏类的构造函数提供一个方法获取该类的实例该实例只能被创建一次,内存中独一份,任何地方通过调用特征2中所述方法获取到的实例都应该是同一个实现单例class BluetoothWidgetIos { //通过私有的具造方法_internal()隐藏了构造方法 BluetoothWidgetIos._internal() { init(); } // static final修饰了_singleton,_singleton会在编译期被初始化,保证

2020-08-31 11:21:28 1385

原创 Flutter : TabBar ,TabBarView 实现标签导航栏

属性const TabBar({ Key key, @required this.tabs, // 顶部标签 Tab 组件列表 this.controller, // 顶部标签 Tab 控制器 this.isScrollable = false, // 标签 Tab 是否可滑动 this.indicatorColor, // 底部指示器颜色 this.indicatorWei

2020-08-22 11:02:27 517

原创 Flutter :实现一个AlertView

效果如下代码import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';import 'package:flutter/services.dart';import 'package:trade_app/base/baseColor.dart';import 'package:trade_app/base/baseSize.dart';import 'package:trade_app/base/

2020-08-21 15:17:24 675

原创 Flutter :拖拽排序 ReorderableListView

ReorderableListView是通过长按拖动某一项到另一个位置来重新排序的列表组件。使用:下面实现功能为:头部“新增收藏夹”不动,下面cell可以拖拽排序import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';import 'package:trade_app/base/baseColor.dart';import 'package:trade_app/base/baseSize.d.

2020-08-20 15:15:34 2759 1

原创 Flutter :添加点击事件

flutter中有三中方式添加点击事件InkWell InkWell( child: buildButtonColum(Icons.call, 'CALL'), onTap:(){ print('单击'); }, onDoubleTap: () { // 双击 }, onLongPress: () { // 长按 }),GestureDetector _onCli.

2020-08-19 14:51:06 3611 1

原创 Flutter填坑

设置导航栏颜色透明需要同时设置Colors.transparent和elevationappBar: AppBar( backgroundColor: Colors.transparent, elevation: 0,//设置导航栏颜色透明),

2020-08-18 19:58:31 2466

原创 Flutter状态管理:StreamBuilder局部刷新

注册监听器///TODO1 初始化一个StreamController<可以是 int string... 一般是model> 监听器 final StreamController _streamController = StreamController();添加通知对象,并关联监听器材Container: StreamBuilder( stream: _streamController.stream, initialData: 1.0,

2020-08-13 19:32:06 756

原创 动态创建TextField

import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';import 'package:flutter/services.dart';import 'package:trade_app/base/baseColor.dart';import 'package:trade_app/base/baseSize.dart';import 'package:trade_app/base/baseTextS

2020-08-12 17:09:27 459

原创 Flutter状态管理:Provider使用之ChangeNotifierProvider

Top1倒入provider库dependencies: flutter: sdk: flutter provider: ^4.3.1Top2注册通知:定义一个ChangeNotifier,管理需要监听状态的数据模型。///1:定义一个ChangeNotifier,来负责数据的变化通知class TextValueAvaliableNotifier extends ChangeNotifier { bool _textValueAvaliable1 = false

2020-08-11 16:21:46 5950

原创 Flutter布局:Stack、IndexedStack、GridView

这里写目录标题Stack(堆叠布局)属性IndexedStackGridView属性Stack(堆叠布局)可以允许其子widget简单的堆叠在一起属性 Stack({ Key key, this.alignment = AlignmentDirectional.topStart,//对齐方式 this.textDirection,//文本的方向 this.fit = StackFit.loose,//定义如何设置non-positioned节点尺寸,默认为loo

2020-08-01 16:37:09 320

原创 Flutter 布局: SizedOverflowBox、Transform、CustomSingleChildLayout

这里写目录标题SizedOverflowBox(控制大小和超出父view的盒子布局)-属性Transform(矩阵变换布局)CustomSingleChildLayoutSizedOverflowBox(控制大小和超出父view的盒子布局)SizedOverflowBox主要的布局行为有两点:尺寸部分。通过将自身的固定尺寸,传递给child,来达到控制child尺寸的目的;超出部分。可以突破父节点尺寸的限制,超出部分也可以被渲染显示,与OverflowBox类似。-属性const Sized

2020-08-01 14:40:47 433

原创 Flutter布局:LimitedBox、Offstage、OverflowBox、SizedBox

这里写目录标题LimitedBox(限定宽高布局)属性例子1例子2Offstage(显示隐藏布局)OverflowBox(溢出父view布局)属性SizedBox属性LimitedBox(限定宽高布局)LimitedBox是将child限制在其设定的最大宽高中的,但是这个限定是有条件的。当LimitedBox最大宽度不受限制时,child的宽度就会受到这个最大宽度的限制,同理高度。属性 const LimitedBox({ Key key, this.maxWidth = do

2020-07-31 17:50:50 862

原创 Flutter布局:Baseline、FractionallySizedBox、IntrinsicHeight、IntrinsicWidth

这里写目录标题Baseline(基准线布局)属性FractionallySizedBox属性IntrinsicHeight(固定高度)IntrinsicWidth(固定宽度)属性Baseline(基准线布局)Baseline基准线是指将所有的元素都统一的放在一条水平线上。Baseline是根据child的baseline定位的child的小部件,即使在不同的child都处在规定的基准线位置,特别是多用文字排版中的时候,就算是不同大小的文字处于同一水平线上。文字排版中的baseline属性

2020-07-31 17:21:57 603

原创 Flutter布局:Padding、Align、Center、FittedBox、AspectRatio、ConstrainedBox、UnconstrainedBox

目录Padding(填充布局)Align(对齐布局)属性Center(居中布局)Padding(填充布局)一个widget, 会给其子widget添加指定的填充Padding的布局分为两种情况:当child为空的时候,view会无限大当child不为空的时候,Padding会将布局约束传递给child,根据设置的padding属性,缩小child的布局尺寸。然后Padding将自己调整到child设置了padding属性的尺寸,在child周围创建空白区域。import 'package:

2020-07-31 14:42:37 556

原创 Flutter导航:Navigator&router

NavigatorNavigatorflutter中的默认导航分成两种,一种是命名的路由,一种是构建路由。构建路由Push到下一个界面(不带参数),并接收返回数据Pop回上一个界面并返回参数push下个界面(带参数)命名路由简单使用界面跳转传参命名路由封装创建路由管理类(app_routes.dart)初始化路由并跳转子界面,不传参数(main.dart)初始化路由并跳转子界面,传参数并返回值给父试图(secondPage.dart)接收父界面传递参数(threePage.dart)遇到的坑路由(Rou

2020-07-30 17:52:15 821

原创 Flutter基础控件:CustomScrollView

CustomScrollView属性属性 const CustomScrollView({ Key key, Axis scrollDirection = Axis.vertical,//滚动方向 vertical垂直滚动 bool reverse = false,//滚动开始方向,false从头开始滚动,true从尾开始滚动 ScrollController controller,//控制器 bool primary,// ScrollPhysics

2020-07-29 17:23:40 1067

原创 Flutter基础控件:ListView、ListTile、Scrollbar

ListView属性scrollDirectionreversecontrollerprimaryphysicsshrinkWrappaddingitemExtentaddAutomaticKeepAlivesaddRepaintBoundariesaddSemanticIndexescacheExtentchildrensemanticChildCountdragStartBehavior方法ListTile属性scrollDirection滑动的方向。默认Axis.vertical为垂直方向滑动

2020-07-29 14:53:51 1344

原创 Flutter基础控件:TabBar、TabBarView

TabBar、TabBarViewTabBar属性TabBar属性const TabBar({ Key key, @required this.tabs,//必须实现的,设置需要展示的tabs,最少需要两个 this.controller, this.isScrollable = false,//是否需要滚动,true为需要 this.indicatorColor,//选中下划线的颜色 this.indicatorWeight = 2.0,//选中下划线的

2020-07-29 11:55:54 2204

原创 Flutter基础控件:BottomNavigationBar

BottomNavigationBar属性onTapcurrentIndexelevationtypefixedColorbackgroundColoriconSizeselectedItemColorunselectedItemColorselectedIconThemeunselectedIconThemeselectedFontSizeunselectedFontSizeselectedLabelStyleunselectedLabelStyleshowSelectedLabelsshowUnsele

2020-07-27 18:03:34 444

原创 Flutter生命周期

生命周期Widget 的生命周期StatelessWidget 的生命周期StatefulWidget 的生命周期App 的生命周期Flutter 的生命周期分为两个部分:Widget 的生命周期App 的生命周期Widget 的生命周期Flutter 里的 Widget 分为 StatelessWidget 和 StatefulWidget 两种,这两种 Widget 的生命周期是不一样的,我们接下来具体来看。StatelessWidget 的生命周期StatelessWidget 的生

2020-07-27 16:31:17 232

原创 Flutter线程

事件循环Isolate事件循环Isolate可以把它理解为Dart中的线程。但它又不同于线程,更恰当的说应该是微线程,或者说是协程。它与线程最大的区别就是不能共享内存,因此也不存在锁竞争问题,两个Isolate完全是两条独立的执行线,且每个Isolate都有自己的事件循环,它们之间只能通过发送消息通信,所以它的资源开销低于线程。Flutter 程序由一个或多个 isolate 组成。我们的代码默认都在 Main isolate中执行.。每个 isolate 中有一个Looper,但存在两个Queue:

2020-07-27 15:39:08 1096

原创 Flutter系统概述

框架图整个Flutter系统由三部分组成,由上至下依次为:Framwork(动态库),Engine(渲染引擎),Embedder(嵌入层)。Framwork(动态库)Framework 层全部使用Dart 编写,它实现了一套基础库,用于处理动画、绘图和手势,并且封装了一套UI组件库,并预写了Android(MaterialDesign)和 iOS的(Cupertino)风格的UI,这个纯Dart实现的SDK被封装为了一个叫作dart:ui的Dart库,极大方便了开发移动端。Material封

2020-07-26 19:39:46 340

原创 Flutter基础控件:TextField

TextFieldTextField属性controllerfocusNodedecorationkeyboardTypetextInputActionstylestrutStyletextAligntextAlignVerticaltextDirectionreadOnlytoolbarOptionsshowCursorautofocusobscureTextautocorrectenableSuggestionsmaxLinesminLinesexpandsmaxLengthmaxLengthEnfor

2020-07-25 18:23:04 1621

原创 Flutter基础控件:Appbar

@TOCAppbar类似iOS导航栏,但有一定区别Appbar属性leading在标题前面显示的一个控件,在首页通常显示应用的 logo;在其他界面通常显示为返回按钮。automaticallyImplyLeading如果没有leading,automaticallyImplyLeading为true,就会默认返回箭头如果 没有leading 且为false,空间留给title如果有leading,这个参数就无效了title标题actions导航栏右侧按钮数组fle

2020-07-25 16:40:39 428

原创 Flutter基础控件:Scaffold

@TOCScaffoldScaffold属性appBar导航栏appBar: new AppBar( title: new Text('welcome to flutter'), leading: new Icon(Icons.home), actions: <Widget>[ new IconButton( icon: new Icon(Icons.add_alarm

2020-07-25 16:02:48 734

原创 Flutter基础控件:RaisedButton、 MaterialButton、 FloatingActionButton

@TOCRaisedButtonMaterial Design中的button, 一个凸起的材质矩形按钮属性onPressed点击事件。如果传递了 null 值,整个按钮是不可点击的,disabled 状态onLongPress长按事件onHighlightChanged水波纹高亮变化回调,按下返回true,抬起返回falsetextTheme按钮的主题enum ButtonTextTheme {/// Button text is black or white dep

2020-07-25 11:30:13 700

framework测试.zip

iOS创建静态framework原代码。

2020-12-02

flutter线上项目源码

一个小型flutter项目源码

2020-09-28

iOS歌词同步与解析

新手代码比较乱 见谅!这个代码在LuTableViewController类中,另外当播放完成后计数器没有被清空,你们就自己清下吧 呵呵

2014-07-26

空空如也

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

TA关注的人

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