IOS
老虎从不发威-新歌
只要持之以恒,你就会成功
展开
-
Flutter 浅析之 登录页
技术无止境,只怕不学习啊,Flutter 我们开始吧先上图来看一下要实现的效果:页面结构1.标题2.手机号输入框3.验证码输入框4.获取验证码5.60s倒计时6.登录按钮7.跳转到主页下面直接上代码说明/// (`InkWell`)可用时使用的字体样式。final TextStyle _availableStyle = TextStyle( fontSize: 16.0, color: const Color(0xFF00CACE),);/// (`InkWell`)原创 2020-08-06 12:09:14 · 539 阅读 · 0 评论 -
Flutter 浅析之 自定义view 六 CircleProgressBar
技术无止境,只怕不学习啊,Flutter 我们开始吧CircleProgressBar原型进度条自定义view结合动画来完成进度条效果。CustomPainter先来想想使用canvas的哪个方法来完成绘制。首先,需要绘制一个圆形的背景啊,所以肯定要使用canvas.drawCircle方法。其次,需要绘制圆上面的圆弧,所以就是canvas.drawArc方法了啊。所以,先来绘制一个圆来看效果哈/// 绘制进度条class CircleProgressBarPainter extends原创 2020-07-23 18:03:05 · 700 阅读 · 0 评论 -
Flutter 浅析之 自定义view 五 绘制标签
技术无止境,只怕不学习啊,Flutter 我们开始吧有时候会遇到展示一些标签,最近项目中也遇到做一个标签标记,电商项目中多数都会用到,可能都是UI切的图,这里我们用自定义view 的方式来画一个标签或自定义LabelView首先还是先建立类继承于CustomPainterclass LabelViewPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) {} @overr原创 2020-07-23 15:21:49 · 878 阅读 · 0 评论 -
Flutter 浅析之 自定义view (自定义图形 绘制drawImage 加载本地图片 ui.Image的使用) 四
技术无止境,只怕不学习啊,Flutter 我们开始吧绘制drawImage的时候遇到一个问题获取要绘制的图片,查询的一些资料找出来一个方法可以回去本地图片 ,因为绘制的时候Image对象必须使用ui.Image /// 通过assets路径,获取资源图片 Future<ui.Image> load(String asset) async { ByteData data = await rootBundle.load(asset); ui.Codec codec = awa原创 2020-07-22 18:18:41 · 3673 阅读 · 2 评论 -
Flutter 浅析之 自定义view (自定义图形) 三
技术无止境,只怕不学习啊,Flutter 我们开始吧绘制路径drawPathdrawPath(Path path, Paint paint)绘制路径非常的简单,首先需要一个要绘制的路径path,然后就是这个paint了。Path的用法也非常的简单,下面列出一下常用的方法:方法名作用moveTo将路径起始点移动到指定的位置relativeMoveTo相对于当前位置移动到lineTo从当前位置连接指定点relativeLineTo相对当前位置连接到原创 2020-07-22 17:42:32 · 546 阅读 · 0 评论 -
Flutter 浅析之 自定义view (自定义图形) 二
技术无止境,只怕不学习啊,Flutter 我们开始吧今天我们就按照这个步骤来实现下自定义ViewCustomPainter的使用新建类继承于CustomPainter并且实现CustomPainter里面的paint()和shouldRepaint方法。class TestPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { // TODO: implement paint原创 2020-07-22 11:08:05 · 903 阅读 · 0 评论 -
Flutter 浅析之 自定义view (自定义图形) 一
技术无止境,只怕不学习啊,Flutter 我们开始吧最近要使用Flutter 的自定义view来做图形引擎工作,所以来个插先了解一下自定义view,Flutter中Widget已经做得很强大了但总有不满足的时候,需要我们通过自定义来实现效果。Flutter的自定义和Android还是差不多的,但也有一些区别1.新建类继承于CustomPainter实现paint()和shouldRepaint()方法2.在paint方法中绘制你想要的内容3.借助于 CustomPaint Widget来构建自己原创 2020-07-22 09:57:14 · 977 阅读 · 0 评论 -
Flutter 浅析之Image
技术无止境,只怕不学习啊,Flutter 我们开始吧Flutter Image图片添加 Image空间 首相Image有四种加载图片的方式network 加载网络图片file 本地文件asset 资源目录主要讲解asset 资源目录添加图片文件夹在lib 同一个目录下添加images文件夹把需要使用的图片复制到images文件夹中然后在pubspec.yaml中配置注意格式在容器中添加Image读取资源图片class MyApp extends StatelessWidget原创 2020-07-19 21:51:24 · 2004 阅读 · 0 评论 -
Flutter 浅析之 Container容器
技术无止境,只怕不学习啊,Flutter我们开始吧Flutter Container容器在Container容器添加Text文本以及字体大写class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( title: 'Startup Name Generator', theme: new ThemeData原创 2020-07-19 00:50:50 · 1084 阅读 · 0 评论 -
Android工程师开发iOS之UIButton以及事件处理
最近忙的一塌糊涂,所以没有时间来写后续的文章,今天补发一个。Android 中的Button 在IOS中叫做UIButton 下面来做一下介绍和操作,还有事件处理: /** *创建一个btn对象,根据类型来创建btn *圆角类型btn:UIButtonTypeRoundedRect *通过类方法还来创建buttonWithType:类名 + 方法名 */...原创 2018-12-23 00:10:57 · 186 阅读 · 0 评论 -
Android工程师开发iOS之UILabel
最近项目忙着上线没有更新,周末有点时间继续我们的ios开发,最近介绍一下控件今天介绍的是UILabel,它是和Android中的TextView是类似的,那我们看看他的设置和一些属性。 //初始化 UILabel 显示文字 UILabel *label= [[UILabel alloc] init]; //设置文字内容 label.text = @"你好,我是我自己,我...原创 2018-11-11 17:54:48 · 387 阅读 · 0 评论 -
android攻城狮开发iOS .m和.h的区别
最近一直在忙,没有继续更Android攻城狮iOS开发,今天继续更新。Android 开发中我们用Java开发文件的后缀都是.java 结束的,用kotlin开发后缀为.kt,但是ios中我们发现有它有.h和.m之分,下面我们来看一下他们的区别吧:.h文件.m文件在.h文件中 有一个import,这是用来导入工具包,就是foundation框架 @这个标志表示...原创 2018-10-24 23:24:33 · 397 阅读 · 0 评论 -
Android工程师开发iOS之与Android中对应功能的控件
iOS中和安卓控件应用还是差不的,从控件的命名上我们就能看出来,下面来介绍一下吧:ios中UILabel 对应Android 中TextView ios中UIImage对应Android 中ImageView 图片控件ios中UIButton对应Android中Button 按钮ios中 UISwitch对应Android中Switch 选择开关ios中UITe...原创 2018-10-28 22:14:21 · 603 阅读 · 0 评论 -
android工程师开发IOS oc浅析(21)之字符串的截取和替换
字符串的截取和替换 1,从指定位置from开始(包含起始位置)到尾部 - (NSString *)substringFromIndex:(NSUInteger)from; 2,从字符串的开头一直截取到指定的位置to,不包含结束位置 - (NSString *)substringToIndex:(NSUInteger)to; ...转载 2018-05-30 17:01:13 · 282 阅读 · 0 评论 -
android工程师开发IOS oc浅析(21)之NSRange
NSRange顾名思义Range肯定是一个范围,那到底它是个什么东西呢,我们可以按住command键点NSRange,点进去看,会发现,NSRange是一个结构体,其中包括了location(位置)和length(长度)两项,他们都是NSUInteger类型。而NSUInteger类型的定义如下: NSRange的定义typedef struct _NSRange { NSU...原创 2018-05-30 16:57:41 · 210 阅读 · 0 评论 -
android工程师开发IOS oc浅析(20)之代理模式
代理模式? 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象而代理对象可以在客户端和目标对象之间起到中介的作用。举个例子,小明想看电影,但是没时间买票 于是就拜托小强去买票最简单的方式就是 建立一个person类(小明) 一个agent类(代理类)agent类 帮person去买票或者问票价 并且返回消息 给person这样的话...转载 2018-05-30 10:30:34 · 190 阅读 · 0 评论 -
android工程师开发IOS oc浅析(19)之协议
这一篇文章我们在来看一下OC中协议的概念以及用法,协议也是OC中的一个重点,Foundation框架以及我们后面在写代码都会用到。OC中的协议就是相当于Java中的接口(抽象类),只不过OC中的名字更形象点,因为我们在学习Java中的接口时候,看可以知道其实接口就相当于一种契约(协议),给他的实现类打上标记了,当然这个活在Java5.0之后,被注解替代了,因为注解就是为了此功能诞生的。协议...原创 2018-05-30 10:11:23 · 230 阅读 · 0 评论 -
android工程师开发IOS oc浅析(18)之block、typedef、block内部访问外部变量、block如何作为函数的参数
block虽然很早就学习过block方面的知识,但一直没怎么用过,说明自己还是个菜鸟中的菜鸟,看到大牛们的代码优雅又简洁,各种炫酷的功能很多都有block的影子,所以下决心好好学习这方面的内容.以后有关于block中的所有问题都会总结在这里,方便加深对OC中block的理解。block是一个数据类型block是一个数据类型 所以可以声明一个block类型的变量block类型的变量中专...原创 2018-05-29 16:42:42 · 457 阅读 · 0 评论 -
android工程师开发IOS oc浅析(17)之OC 中的方法重载
OC中没有严格的方法重载 原因:OC不允许方法名相同。 注: OC也没有运算符重载一说。 例如: -(void)Cat:(NSInter)one; -(void)Cat:(float)two;上面两个方法名相同。在OC中是不允许的。 注: oc中方法名包括后面的冒号。总结: oc和c++、java不一样,不允许方法名相同。 ...原创 2018-05-29 13:50:05 · 132 阅读 · 0 评论 -
android工程师开发IOS oc浅析(2 )之NSString
今天我们来详细的来介绍一下oc中的 NSString。1、不可变字符串的创建// 直接创建不可变字符串 /* 在 OC 中,使用 @"XXX" 格式定义的字符串,是保存在常量区的,只要内容相同,内存地址就一致 */ NSString *string1 = @"bei jing huan ying nin"; // 对象方法创建字符串...原创 2018-05-25 13:26:12 · 184 阅读 · 0 评论 -
android工程师开发IOS oc浅析(3 )之static
static在oc中的使用1.在函数体内定义的static他的作用域为该函数体,该变量在内存中只被分配一次,因此,其值在下次调用时仍维持上次的值不变2.在模块内的static全局变量可以被模块内所用函数访问,但是不能被模块外的其他函数访问3.在模块内的staic全局变量可以被这一模块内的其他函数调用,这个函数的使用范围被限制在这个模块内;4.在类中的static成员变量属于整个类所...原创 2018-05-25 23:37:22 · 135 阅读 · 0 评论 -
android工程师开发IOS oc浅析(4 )之self
self关键字 简述self可以用在对象方法和类方法中self是个指针在对象方法使用self 1. self是一个指针, 在对象方法中指向当前对象——谁调用这个对象方法, 谁就是这个对象方法的当前对象 2. 作用: 可以使用self来显式的访问当前对象的成员 可以使用self关键字来显式的访问当前对象的属性 以前都是对象指针-&amp;gt;属性 现在...原创 2018-05-26 09:31:44 · 205 阅读 · 0 评论 -
android工程师开发IOS oc浅析(5 )之super
Super关键字1、对象方法中,只能用来调用当前子类对象从父类继承过来的对象方法,此时虽然可以用self调用,但为了提高代码的阅读性,建议使用super来调用。2、类方法中,super代表父类,用来调用父类的类方法。3、super可只能用来调用方法,不能用来访问属性。 继承: A类中定义了一些成员(属性),B类刚好拥有A类的全部成员,此时B类可以继承A类,如: ...原创 2018-05-26 11:22:47 · 198 阅读 · 0 评论 -
android工程师开发IOS oc浅析(6 )之访问修饰符
访问修饰符 @public:任何地方 @private:子类只能通过set和get方法来访问,只能在当前类的对象方法中直接访问 @protected:只能在当前类和子类中直接访问 (默认就是@protected) @package:只要处于同一个框架中就能直接访问对象的成员变量。 .m文件,不写,默认就是私有的,包含一般是.h文件 @implementation中不能定义有和.h...原创 2018-05-26 11:43:49 · 140 阅读 · 0 评论 -
android工程师开发IOS oc浅析(7 )之多态
多态:多种形态。方法的多种表现形式,即同一种行为,对于不同的对象具有不同的表现形式。子类对父类的方法重写,但不需重新声明。遵从里氏替换原则,子类可以替换父类的位置,并且程序的功能不受影响。父类的指针指向子类对象,父类的指针可以存储本类的地址,也可以存储子类的地址;当方法的参数是1个父类类型的时候,传递实参是可以给父类对象传递也可以给子类对象传递。唯一要注意的就是:当1个父类的指...原创 2018-05-26 12:06:00 · 131 阅读 · 0 评论 -
android工程师开发IOS oc浅析(8)之description
简单的说说ios中的description方法,在iOS中description方法是一个非常实用的方法,在调试程序时,经常要打印并查看对象的信息。一种办法是编写代码把对象的全部属性都输出到日志中。但是最常用的还是:NSLog(@"%@",object);在构建需要打印的日志的字符串时,object对象会收到description消息,该方法返回的描述信息将取代“格式字符串里的%@”。如下...原创 2018-05-26 12:56:10 · 263 阅读 · 0 评论 -
android工程师开发IOS oc浅析(9)之点语法、property跟synthesize用法
一:OC中得点语法1> 点语法的基本使用: ·使用 对象.成员变量 可以实现设置成员变量值,和获取成员变量的值2> 点语法的本质 (点语法是Xcode编译器自己帮我们完成的一个功能) 实际上点语法就是set和get方法,当编译遇到点语法时,编译器就会将点语法转成set和get方法。 注意:也就是说,如果类中没有实现set和get方法,那么就不会有点语法p...原创 2018-05-26 16:32:34 · 132 阅读 · 0 评论 -
android工程师开发IOS oc浅析(10)之动态类型&静态类型
1 、动态类型&amp; &amp; 静态类型 我这里是跨进度的学习,在笔记中记录自己感觉需要注意的: 多态:允许不同的类定义相同的方法。 动态类型:程序直到执行时才能确定所属的类。 Animal *ani = [Dog new]; 静态类型:将一个变量定义为特定类的对象时,使用的是静态形态。Animal *ani = [Animal new];将一个变量定义为特定类的对象时,使用的...原创 2018-05-26 17:20:16 · 162 阅读 · 0 评论 -
android工程师开发IOS oc浅析(11)之instancetype与id的区别
id类型及应用场景 1、用NSObject访问子类对象方法 //需要强制转换,是静态类型 NSObject*obj = cat; [(Cat*)objrun]; 2、id类型 id是动态类型,程序只有在运行时才能确定它的具体类型。是指向哪个对象的。 id是一种通用的对象类型,它可以用来存储属于任何类的对象也可以理解为万能指针 注意 在id的定义中,已经包好了*号。id指针只能指...原创 2018-05-26 17:54:19 · 187 阅读 · 0 评论 -
android工程师开发IOS oc浅析(12)之动态类型检测方法
1)判断类型(BOOL)isKindOfClass:(Class)aClass; 判断某个对象是不是某个类的实例对象或者是其子类的实例对象(BOOL)isMemberOfClass:(Class)aClass; 判断对象是否是指定类的实例,不管是不是其子类的实例(BOOL)isSubclassOfClass:(Class)aClass; //判断类是否是指定类的子类例如:...原创 2018-05-27 11:07:56 · 175 阅读 · 0 评论 -
android工程师开发IOS oc浅析(13)之new与alloc/init的差别重写init注意事项
1.在实际开发中非常少会用到new。一般创建对象咱们看到的全是[[className alloc] init]可是并不意味着你不会接触到new,在一些代码中还是会看到[className new]。还有去面试的时候。也非常可能被问到这个问题。2.那么,他们两者之间究竟有什么差别呢我们看源代码: + new { id newObject = (*_a...原创 2018-05-28 10:34:45 · 374 阅读 · 0 评论 -
android工程师开发IOS oc浅析(14)之MRC与ARC
1.为什么要进行内存管理?管理的是什么?内存管理,管理的是任何继承自NSObject的对象,因为一般的其他基本数据类型的局部变量都是储存在栈区的,当代码块执行结束,代码块中的局部变量出作用于就会被回收,而OC对象则不一样,OC对象类型是程序在运行过程中动态分配的,存储在堆区,其指针存在栈区,当出代码块后,作为局部变量的它其指针会被回收,但是堆区中的对象没有被释放,造成内存泄漏.2.MRC...原创 2018-05-28 14:02:30 · 275 阅读 · 0 评论 -
android工程师开发IOS oc浅析(15)之@property后面修饰符详解
@property后面有哪些修饰符 1.线程安全的 atomic、nonatomic2.访问权限的 readonly、readwrite3.内存管理(ARC) assign、strong、weak、copy4.内存管理(MRC) assign、retain、release5.指定方法名称 setter = getter =详解 ...原创 2018-05-28 15:38:56 · 223 阅读 · 0 评论 -
android工程师开发IOS oc浅析(16)之分类、非正式协议、延展
一、分类(类别/Category)1、适用范围 当你已经封装好了一个类(也可能是系统类、第三方库),不想在改动这个类了,可是随着程序功能的增加需要在类中增加一个方法,这时我们不必修改主类,只需要给你原来的类增加一个分类。 将一个大型的类拆分成不同的分类,在不同分类中实现类别声明的方法,这样可以将一个类的实现写到多个.m文件中,方便管理和协同开发。 分类中的方...原创 2018-05-29 13:37:46 · 183 阅读 · 0 评论 -
android工程师开发IOS oc浅析(1 )
我们都知道开发IOS需要使用的语言Objective-C这个是基础的,近几年IOS又推出了一个目前不是很成熟的语言Swift。这里我们先从Objective-C开始熟悉,后面会介绍到Swift,一下称为oc.首先我们要知道oc它也是面向对象的语言,如果你熟悉Java,那你学起来就简单了。oc是基于语言的基础上进一步封装出来的语言,c语言我们都知道它是面向过程的。oc在它的基础上封装成为面向对象...原创 2018-05-25 13:05:52 · 308 阅读 · 0 评论