自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

知更鸟CoolLee的博客

在知识的海洋,飘荡。。

原创 Flutter如何设置文字大小不随系统设置而改变?

我们知道,在原生iOS开发中,一旦文字设置了font之后,是不会随着系统设置中的字体大小的改变而发生改变的。可是,在flutter开发中,我们使用的Text widget却会随着改变,这就会导致布局错乱,使得整个页面异常难看。 首先,如果是针对单独的Text widget,系统提供了textSca...

2020-05-18 19:05:19 548 0

原创 Building for iOS Simulator, but the linked and embedded framework 'App.frame'

在使用android studio运行flutter项目时,报如下错误: building for is simulator but the linked and embedded framework ‘app.framework’ was built for ios 这是什么问题呢?其实是项...

2020-05-06 20:28:07 1773 1

原创 iOS解除Block循环引用,你只知道__weak就out啦

在iOS的开发中,block是比较频繁的一个使用的功能。可是我们都知道,block如果使用不当,很容易引起循环引用,造成内存泄漏。今天为大家介绍几种解除block循环引用的方式,愉快的用起来吧! Answer 1 :最常规的方式 – weak & strong dance! 我相信作为一个...

2020-04-06 23:52:08 179 0

原创 SwiftUI为啥可以这样写代码?

欢迎老铁们扫码关注哦! var body: some View { HStack(alignment: .leading, spacing: 10) { Text("Hello Swift") Text("Hello Swift...

2020-03-13 08:37:19 148 0

原创 SwiftUI如何修改页面状态?@state的使用

在SwiftUI开发中流传一种说法:视图是状态的函数。这句话什么意思呢? 我们在玩游戏的时候,死了几次,得到几分,收集了一些道具,或者捡到武器,在应用程序中,我们把这些称为state。当你退出游戏的时候状态都会保存,当你下次再进来游戏的时候可以接着上次的继续玩。不过在你玩的过程中,这些所有的东西都...

2019-11-28 15:52:42 418 0

原创 SwiftUI系列之七--NavigationView, TabbedView, Group介绍

SwiftUI的设计就是开箱即用,这就意味着我们可以根据需要,将任意View放置到另一个View中。这一点对于我们常常使用的一些Container View是非常有用的,比如导航栏和底部tab栏。我们可以把任何一个View扔进Container中,SwiftUI会自动适应View的布局。本篇主要介...

2019-10-29 10:04:36 2160 0

原创 我到底应该学SwiftUI?UIKit?还是both?

最近有些朋友问我,我学Swift到底应该学SwiftUI还是UIKit也要学?哈哈,你是不是也在期待着这样的回答:all in SwiftUI吧,UIKit的内容不用管了!然鹅,如果你听了这话,那目前阶段甚至一两年内你都可能只是写一写玩玩的项目了。各位看官,且听我细说为啥不能all in Swif...

2019-10-24 21:12:41 1397 0

原创 SwiftUI--List View全攻略

SwiftUI的List View和UIKit中的UITableView很相似,它可以根据你的需求加载静态或者动态数据。不同的是,List使用起来更加的简单:我们不需要在storyboard或者Xib中创建cell,也不需要使用代码注册cell,不需要告诉它要有多少行内容,当然也不需要dequeu...

2019-10-23 15:20:14 2419 0

原创 SwiftUI系列之一--不要怕,搞起来

苹果公司在WWDC19上宣布了一个激动人心的消息,引入了SwiftUI–一个原生的声明式UI框架。这对于iOS开发习惯了命令式UI编写的猿们来说,是又兴奋又紧张,终于iOSer也可以赶上潮流,使用声明式的方式开发iOS、macos啦。当然小编是属于兴奋的那一种,这不迫不及待就来尝试SwiftUI开...

2019-10-17 10:17:53 385 3

原创 iOS强迫症的福音--优雅的删除项目中无用的图片资源

随着产品的更迭,工程中的图片资源也在不断的更新换代。那么你是不是曾今为项目中的无用图片过多而脑阔疼?为一个个查找,删除这些图片而奔溃?你是不是有仰天长啸:神啊,告诉我如何优(yi)雅(jian)的删除项目中无用的资源吧? 现在就让我来告诉你–FengNiao–一个删除Xcode工程中无用图片资源的...

2019-08-16 11:57:06 585 0

原创 iOS和Flutter混编系列二:混编后如何restart/reload&调试Flutter代码

开篇: 上一篇为大家介绍了如何将flutter工程嵌入到iOS原生工程中 iOS和Flutter混编系列一:如何在已有的iOS工程中添加Flutter工程 本次分享的内容是:混编后如何针对flutter部分的代码进行restart/reload 操作以及调试代码。flutter支持热重载,我们如果...

2019-08-08 19:20:07 669 0

原创 iOS和Flutter混编系列一:如何在已有的iOS工程中添加Flutter工程

开篇: flutter是什么就不多做介绍了,目前使用纯flutter进行开发的大型项目还比较少,多数试水的还是打算和现有的原生代码进行混编,即将flutter页面嵌入到原生app中。而网上大部分都是讲安卓和flutter混编的经验,有iOS和flutter混编的也是比较老的方法,现在已经不再适用,...

2019-08-08 18:15:03 3380 2

原创 Lottie动画使用及原理分析

目录结构: 1.Lottie是什么? 2.为什么使用Lottie? 3.Lottie适用于哪些场景? 4.Lottie的使用和原理 1.Lottie是什么? Lottie是Airbnb开源的一个动画渲染库,支持多平台,包括iOS、Android、React Native以及Flutter...

2019-06-05 10:36:48 1330 0

原创 iOS底层原理探究之----KVC

不管是平常开发还是找工作面试中,KVC、KVO的原理都是面试官比较喜欢问的问题。最近抽时间研究了一下KVC和KVO的实现原理,本想着一篇文章就可以说完,等研究完才发现不看不知道,一看吓一跳。KVC和KVO都有很多内容可以研究,故分为两篇分享,第一篇分享KVC的底层原理。 本次分享准备从这几个方面 ...

2019-01-14 18:18:57 241 0

原创 iOS开发之为线程加把锁

在iOS开发中,不可避免的需要使用到多线程。但是使用多线程的过程中,如果使用不当,就会造成数据混乱,那要怎么保证多线程使用中不会因为访问同一个内存空间而造成数据混乱呢?这个时候锁(LOCK)就该闪亮登场了。本文会从以下几个方面介绍锁,希望对大家有帮助: 1)锁是什么以及为什么需要? 2)iOS中都...

2019-01-09 16:20:22 895 0

翻译 iOS创建一个底部sheet(类似iPhone地图)

(本文是自己的翻译,感兴趣的可以查看原文,原文链接:https://skagedal.github.io/2018/08/03/bottom-sheet.html) BottomDrawer或者叫BottomSheet作为一种用户交互模式已经在iOS使用的越来越频繁,经常出现在苹果自己的APP中...

2018-08-21 15:54:30 1347 0

原创 iOS UITextView问题一网打尽(占位文字、汉字输入字数计算、自动高度改变)

在iOS开发中,UITextView是一个使用还算比较多的控件。但是用过的人都知道,UITextView有很多存在的问题,今天就来一一说它一说。 一、设置textView的placeHolder 首先需要解决的就是占位文字placeHolder的问题,与UITextField相比,UITe...

2018-08-13 20:46:58 688 0

原创 iOS UITextView设置初始输入位置

有时候我们希望textView不从最开始的位置输入,这时就需要对textView进行设置,那应该设置哪个属性呢? 实测:设置textView的textContainerInset可以实现改变输入位置的需求。它设置的是输入文字相对textView本身的距离。 textView.textConta...

2018-06-08 17:18:20 2774 0

原创 Mac升级自带python到最新版本有轻功

Mac电脑自带python,但是一般都是python的低版本,如今越来越多的人转向了python3,故而很有必要将其升级,但是mac有些软件是依赖于自带python的,所以不建议删除之前的老版本,而是让老版本和新版本共存。以下为最简单步骤: 1.到python官网下载页面下载最新的python版...

2018-04-26 21:49:55 16274 14

原创 最简单方式解出线上app中Assets.car的图片资源

有时候我们会有这种需求:下载的别人开发的App,想提取到里面包含的所有图片文件,但是下载的包里面我们直接能看到的图片却是很有限的。而这里面还有一个比较大的文件那就是Assets.car,那么它是什么呢?实际上这就是我们平常开发中放在Assets.xcassets中的图片资源。这里要讲的就是如何用最...

2018-03-05 16:06:09 7046 1

原创 tableview图片延迟加载的骚操作~

现在有这样一个场景,有一个tableview,每个cell上都有imageView,imageView要加载图片,用户在滑动列表的时候,如果随滑随加载图片的话,列表会非常卡顿,验证影响用户体验。这个时候应该怎么优化呢? 方法一:利用UIScrollView的代理方法。在tableView滑动的过...

2018-02-11 17:10:37 783 0

转载 iOS App 签名的原理(转)

iOS 签名机制挺复杂,各种证书,Provisioning Profile,entitlements,CertificateSigningRequest,p12,AppID,概念一堆,也很容易出错,本文尝试从原理出发,一步步推出为什么会有这么多概念,希望能有助于理解 iOS App 签名的原理和流...

2018-02-07 14:53:23 1009 0

转载 ios-阿里P6面试题(转)

http://www.cocoachina.com/ios/20171129/21362.html 确实不愧是阿里的面试题,很多题看着很基础,有很多可以答的,但是真的要说的很全面,很准确还是有很高的难度。更多的偏向于原理和底层,尽管我们不一定能去阿里面试,但是作为技术人员,要时刻保持学习的心态才...

2017-12-01 11:50:29 2554 0

原创 iOS应用状态保存和恢复

应用场景: 当程序进入后台时候,把用户当前查看的页面层级保存起来,如果应用停止运行,那么用户在下次打开应用的时候,可以按照之前保存的状态恢复现场,让用户看起来仿佛从来没有关闭过一样。 实现步骤: 1.首先在AppDelegate中实现如下方法: - (BOOL)application:(U...

2017-08-31 17:34:44 915 0

原创 ios中修改状态栏颜色的方法

工作中会经常遇到需要修改状态栏显示的颜色,实践发现,修改其实很简单,只需要在项目的infoPlist文件中添加一项:View controller-based status bar appearance,添加后,它的默认值就是NO,表示由系统管理状态栏,此时在AppDelegate中添加如下代码:...

2017-08-01 21:55:33 1601 0

原创 解决Line XX:StartTag:invalid element Name问题

多人开发修改同一个文件,提交git后再拉取容易产生问题,今天就遇到了一个问题:合并完代码后,运行就会直接报Line 19:StartTag:invalid element Name这个错误。研究一下发现是我和同事同时修改了同一个xib文件,出现以上问题,解决办法如下: 鼠标右键点击报错的xib文...

2017-07-12 15:12:21 3033 0

原创 不仅仅是截图--截取整个scrollView的内容

以下的方法,非常简单的实现截取整个scrollView控件及其子控件的内容,比如tableView等,并生成一张图片。不仅仅是我们可以看到的一屏大小的内容。- (UIImage *)screenShotImageOfScrollView:(UIScrollView *)scrollView { ...

2017-07-10 16:24:18 2174 0

原创 iOS使用socketIO实现长连接

iOS使用socketIO实现长连接

2017-06-08 19:57:17 10182 2

转载 iOS使用webSocket的简单实现

最近做K线图相关的东西,需要和服务器进行长连接实时获取数据,因为后台使用webSocket实现的,经过一番波折最终找到了facebook开源的 SocketRocket 框架,他是用oc封装的websocket实现,这篇是在网上找到的使用SocketRocket的例子,感觉写的不错,但是看完也就是...

2017-06-06 19:41:43 8291 1

原创 iOS截屏分享功能实现

产品经理今天提出一个新的需求,需要实现类似于每日优鲜、淘宝等客户端的截屏分享的功能,即home+power截屏后弹出分享页面,同时将截取到的图片放在当前页面中展示,如下效果: 之前没有做过这样的需求,但是实现过截屏相关的功能,故初步考虑获取系统截屏事件,然后在该事件中利用程序截屏并按一定比例...

2017-05-02 19:28:59 9982 0

原创 ios 为APP设置App Store中的兼容性问题

最近发现,我们的APP发布到App Store后我发现在兼容性上为: 需要ios8或更高版本。与iPhone、ipad、iPod touch兼容 我擦嘞,这不对呀,我们开发的APP只是针对iPhone的呀,这和ipad、iPod touch兼容并没有啊,App Store上显示成这...

2017-04-13 19:48:00 8330 0

原创 OC代码中使用Swift文件的实践

最近在研究swift,就我看来,swift确实是比OC更优秀的语言,这可以体现在很多方面,网上已经对比的很透彻,就不一一赘述。 今天研究了一下如何在OC项目中使用swift文件,即OC和swift的混编问题,发现在OC中要使用swift文件也是蛮简单的,实践过程列如下: 1)首先随便创建了一个...

2017-04-12 20:11:58 5958 2

原创 iOS Charts 混合柱状图开发

近期公司的产品有新的需求,大概效果就如下所示: 我们使用的是ios-charts这个第三方,但是在网上找了一大堆也没有发现这种效果的柱状图,没办法只能自己操刀来实现了。实现过程中借鉴了安卓中的MPCharts类似效果的实现方法,话不多说,直接上代码,代码中注释已经比较清晰了,有不懂得欢迎咨询。 ...

2017-04-05 13:38:27 6498 1

原创 iOS获取当前设备的型号、分辨率、运营商以及地理位置

最近做一个需求:后端需要统计使用我们APP产品的用户手机的各种信息,这些信息包括:设备品牌、设备型号、设备分辨率、操作系统、运营商、APP版本号、设备ID(UUID)、地址位置。这些信息其实获取也都不是很难,简单记录一下://首先获取当前设备对象 UIDevice *device = [U...

2017-03-21 18:19:27 4371 0

原创 使用UIBezierPath和CAShapeLayer高效为UIView添加圆角

我们在实际开发中,经常会遇到为某个view添加圆角的需求,这样出来的view的效果是比较好看的,那么平时用的最多的实现方式是什么呢?或许你也和我一样:UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 200, 40)]...

2017-02-16 10:26:51 4140 0

原创 cell高度自适应实现的最简单方式

曾经为了实现cell的高度自适应,不知道吃了多少苦。那个时候,是在我的数据模型model中添加一个height属性,实现它的get方法,在get方法中计算需要多行显示文字的高度,然后再加上其他乱七八糟的高度并返回,然后在tableview的 - (CGFloat)tableView:(UITab...

2017-01-05 16:10:37 11181 0

原创 消除xcode8中Empty paragraph passed to '***' command的警告

今天在将swift版的Charts(一个绘制各种统计图表的第三方库)引入到自己的oc项目,编译后出现一堆的警告,如下所示: 打开查看详细发现是在这些文件中添加的注释产生的警告,这是升级xcode8之后才会出现的情况。解决办法呢,其实也很简单,就是在编译选项中添加警告屏蔽。 如下图步骤操作:...

2016-12-23 15:57:40 5674 0

原创 GCD实现异步任务同步的两种方式

有时候我们会有这种需求:为了执行下载任务,开启了多个异步任务,需要在在这些异步任务都完成之后执行接下来的操作。这个时候,就需要用到异步任务的同步。 iOS中GCD为我们提供了实现方式,就我所知有以下两种,如果各位大神还有其他实现方式还请赐教: 一、dispatch_group实现//创建一...

2016-12-07 15:50:41 4367 0

转载 iOS APP Extension开发之TodayExtension

从 iOS 8 开始,苹果引入了全新的 App Extension,涉及到方方面面,例如今日面板、键盘、内容拦截器、分享动作等。但是官方对于 App Extension 的开发指南少之又少,入门起来会有很多坑。所以我准备写一系列文章来帮助大家更好入门 App Extension 的开发,也能少走弯...

2016-12-02 20:26:06 316 0

原创 使用苹果框架CoreImage修改图片属性,比如亮度、曝光度、锐度...

最近找工作,被问到了有关图片处理的知识,故借此宝地进行小小总结,也算抛砖引玉。。。1、初识coreImage 不知道大家有没有研究过苹果的coreImage框架,最近研究后发现它真的是非常非常强大,几乎所有的图片处理效果都可以用它来实现,同时还能做比如像人脸识别等比较高端的功能。...

2016-11-19 18:16:07 2008 0

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