iOS 键盘删除键响应
iOS 键盘删除键响应背景背景是,实现一个分享到微信,多选加输入框,点击键盘删除键,删除多选选中对象的东西。 实现由于UITextField没有删除键的代理,所以笔者最开始的想法是,通过textField:shouldChangeCharactersInRange:replacementString:来实现监听,当当前字符串为空且要替换字符串为空时,说明是点击的删除按钮,通过Block方法回掉出去,代码如下: 12345678910- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if ((textField.text.length == 0) && (string.length == 0)) { if (self.deleteBackwardBlock) { self.deleteBa...
Flutter组件基础——Container
Flutter组件基础——ContainerContainer是容器组件,类似于H5中的标签,亦或者iOS中的UIView,是布局的基础控件。 Container包含属性Container常用属性如下: Container child:子视图 alignment:子视图的对齐方式 topLeft:顶部左对齐 topCenter:顶部居中对齐 topRight:顶部右对齐 centerLeft:中间左对齐 center:中间对齐 centerRight:中间右对齐 bottomLeft:底部左对齐 bottomCenter:底部居中对齐 bottomRight:底部右对齐 color:背景颜色 width:宽度 height:高度 padding:子视图距Container的边距 margin:Container距父视图的边距 decoration:装饰 子视图对齐方式-alignment123456789101112131415161718192021222324class MyApp extends StatelessWidget { @overr...
Flutter组件基础——Text
Flutter组件基础——Text组件文本组件:Text WidgetText是文本组件,类似于iOS中UILabel,用于文本的展示,是布局的基础控件之一。 文本对齐方式:TextAlign TextAlign center:Align the text in the center of the cotainer left:Align the text on the left edge of the container right:Align the text on the right edge of the container start:Align the text on the leading edge of the container. For left-to-right text(TextDirection.ltr), this is the left edge. For the right-to-left text(TextDirection.rtl), this is the right edge. end:Align the text on the trai...
Flutter环境安装 && 运行
Flutter环境安装 && 运行背景Flutter环境配置到运行,问题备忘记录。比如遇到Android sdkmanager tool not found和Running Gradle task 'assembleDebug'... Flutter安装超级精简版通过homebrew直接安装,可能需要外网 brew install flutter 手动,Flutter环境搭建 首先下载Flutter安装包,下载地址:https://flutter.dev/docs/development/tools/sdk/releases?tab=macos 其次,解压已下载文件,把文件放入指定目录中,注意:建议放入可以放入用户根目录下,因为后续需要指定bin文件地址,这个目录最好不会经常变动 然后,配置环境变量 打开terminal,如果是zsh,输入open .zshrc;(如果是bash,则输入open .baseprofile)在文件末尾添加如下代码,其中pwd为刚刚解压的flutter/bin文件地址, 1export PATH=&quo...
weak的实现原理
weak的实现原理
Xcode 12.x添加iOS 10.x模拟器
Xcode 12.x添加iOS 10.x模拟器背景笔者昨天遇到个问题,有用户反馈在iOS 10.3.1的手机上,有个网页打开白屏。但是问题是笔者手头都没有10.x版本的手机,所以想安装模拟器来尝试复现。 然而,笔者发现电脑上的Xcode版本是12.5.1,已经不支持iOS 10.3.1的模拟器下载了。 步骤下载iOS 10.3.1模拟器然后笔者搜索后发现,Xcode 12.4还是支持下载iOS 10.3.1的模拟器的,于是去Xcode 下载网站,下载了Xcode 12.4,然后CMD + ,打开Xcode的偏好设置,在Components选项卡中,找到iOS 10.3.1 Simulator并下载,如下图。 添加iOS 10.3.1模拟器通常添加模拟器,是选中Xcode,通过顶部菜单的Window -> Device and Simulators,选中Simulators,点击左下角的+,添加模拟器,如下图 会发现,即使下载了iOS 10.3.1模拟器,依旧不能添加,下载了却不能添加。 于是笔者接着查找,终于仅有的一篇真理文章在 Xcode 12 執行低版本的 i...
iOS StatusBar 设置
iOS StatusBar 设置背景最近遇到设置StatusBar的问题,在NavigationController出来的界面设置StatusBar后一直不生效,印象中遇到过此类的问题,但是没有记录总结,还是花费了一点时间来找到原因,所以赶紧记录一下。 全局设置StatusBar的全局设置,需要首先在info.plist中设置View controller-based status bar appearance为NO,关掉按界面设置status bar 显示。 显示/隐藏方法一:在Target下的Deployment Info中不勾选/勾选Hide status bar 方法二:代码设置 1[UIApplication sharedApplication].statusBarHidden = YES; 设置方法一:在Target下的Deployment Info中设置Status Bar Style 方法二:代码设置 1[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightCon...
CocoaPod 私有库Spec依赖.a写法
CocoaPod 私有库Spec编辑注意事项CocoaPod 私有库Spec依赖.a写法 PodSpec详细描述如下, 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869Pod::Spec.new do |s| # 库名称 s.name = 'AudioRecorder' # 库的版本 s.version = '0.1.0' # 库摘要 s.summary = 'AudioRecorder提供iOS录音和录音播放功能' # 库描述 s.description = <<-DESC AudioRecorder提供iOS录音和录音播放功能 DESC # 远程...
正经分析iOS包大小优化
本文发表在《搜狐技术产品》公众号正经分析iOS包大小优化 iOS 包大小分析优化背景包大小优化是项目开发中不可避免会遇到的,网上关于包大小优化的文章很多,每篇文章说的都不尽相同,笔者曾经根据网上的文章做过包大小优化,但效果不尽人意;因此笔者想根据已有的文章、知识结合自己的理解、实践,做一份总结梳理,整理自己的包大小优化逻辑,不光要知道怎么做可以让包大小变化,还要知道为什么这么做能产生效果,所以就有了这篇文章。 分析想要优化安装包大小,首先需要弄清楚影响安装包大小的因素有哪些?之前笔者优化包大小直接闷着头就去瘦身,瘦来瘦去也没瘦出个名堂,而且还跟别人说不清楚自己做了什么,为什么这么做? 后来总结出来,做事之前要先思考、分析、最后再去做,要思考的是影响这件事的因素有哪些,一一列举出来,查漏补缺;然后针对这些因素进行分析,分析哪些因素是人为可控的,哪些因素是不能改变的,针对可控的部分要怎么优化,不可控的部分是否能避免,最好可以使用思维导图工具,一一记录;然后按照思维导图的整理出来的数据,按步骤去执行。 回过头来,针对安装包大小,首先分析影响安装包大小的因素,有:Xcode的设置、资...
iOS 工作日——过滤法定节假日日历提醒的实现
iOS 工作日——过滤法定节假日日历提醒的实现背景笔者五一之前补班的时候,闹钟没响,早上差点迟到了。笔者闹钟设置的是周一到周五,iPhone没有法定节假日的设置,也没有补休的设置。。。。笔者就想要解决这个痛点,梦想着,要是做出来了,发布到商店,从此走上人生巅峰,赢取白。。。。 YY过后,回过头来,接着调研,法定节假日闹钟的实现,笔者查找了很多资料,发现不用做梦了。首先iOS程序添加闹钟到时钟APP是不允许的。。。其次,iOS也没有法定节假日的判断。。。。所以不用YY了。但是笔者还真找到了iOS自定义闹钟 —— 中国法定节假日(升级版)这个,通过快捷指令自定义闹钟,可以实现过滤法定节假日。原理是:设置闹钟,然后通过快捷指令的自动执行,每天在闹钟时间前,通过订阅的别人维护的日历或者自己本地维护日历,判断当天是否是节假日,然后决定当天的闹钟是否打开、关闭。笔者不得不赞一个,真的优秀。 虽然笔者的发财梦夭折了。。。但笔者想到了另一个,虽然iOS程序不能直接添加闹钟,但是iOS程序可以直接添加日历提醒啊,比如预约直播或者预约抢购的,其实都是添加事件到日历中,然后在指定的时间,弹出来日历...