移动开发

SnapKit源码分析

SnapKit源码分析 Snapkit版本:5.6.0 1. 给谁做约束 ConstraintView:对iOS而言是UIView,对macOS而言是NSView #if os(iOS) || os(tvOS) public typealias ConstraintView = UIView #else public typealias ConstraintView = NSV

Flutter 绘制自定义曲线、折线图及波浪动效实现

简介 上一篇用 Flutter 的 Canvas 画点有趣的图形我们介绍了使用 CustomPaint 绘制自定义形状,可以看到有了图形的平面绘制数学计算方法,我们可以画出所需的形状。本篇我们来介绍线条类图形的绘制,并且结合 Animation 实现了常见的波浪动效。通过本篇,你可以了解到: 正弦曲线的绘制 利用两条正弦曲线加上 Animation 实现波浪动效 曲线的一般绘制方法 折线图绘制

使用ChatGPT做iOS面试的一次体验

ChatGPT新手教程 Q: 如何招一个优秀的iOS开发 AI: 要招聘一名优秀的 iOS 开发人员,需要考虑以下几点: 编程技能:要求具备良好的 Swift 和 Objective-C 编程能力,包括面向对象编程、代码设计和解决问题的能力。 应用程序架构:需要熟悉常用的 iOS 应用程序架构,如 MVC 和 MVVM,并知道如何设计优秀的应用程序架构

关于RecyclerView的setHasFixedSize方法

recyclerView.setHasFixedSize方法什么时候设置为true 什么时候设置为false呢? 可以看下源码中关于这个方法的解释: /** * RecyclerView can perform several optimizations if it can know in advance that RecyclerView's * size is not a

Axios知识点学习

axios 是现代前端开发中一个极其重要的工具,可以说是前端网络请求领域的“事实标准”。 引子:为什么我们需要Axios?浏览器没有自带网络请求功能吗? 当然有!现代浏览器内置了两种网络请求技术: XMLHttpRequest (XHR): 这是“上古时代”的API,API设计非常笨重、回调函数嵌套

iOS获取设备唯一标识和UUID

UIDevice.current.identifierForVendor?.uuidString 以上获取uuidString的方法,每次重启都会改变。 但是项目的要求是不变,并且删除app 只有也有有保留的需求。显然这个无法满足我们的需求。 使用KeyChain解决 keychain(钥匙串)存储在iOS系统中,并且恢复iPhone会使keychain的内容也恢复.但是删除App是不会影响k

自定义Chronometer实现定时器

前言 在Android开发过程中,计时控件是经常回使用到的,在Android控件库中有一个能快捷实现计时功能的控件,它就是Chronometer,今天我们基于它自定义实现一个方便调用的计时控件TimeChronometer。 今天涉及知识有: Chronometer常用方法 TimeChronometer在Activity中使用 效果图和项目结构图 TimeChronometer源码 一

一文搞懂Glide,不懂来打我

1、什么是Glide? 1.1、官方描述 Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。 Glide 支持拉取,解码和展示视频快照、图片和GIF动画。Glide的Api灵活易用,开发者可以插入和替换成自己喜爱的任何网络栈。默认情况下,Glide使用的是一个

Android Xml转换为View过程

前言: Android布局文件Xml,通过setContentView(@LayoutResint layoutResID)或者LayoutInflater.from(context).inflate(int ResID)转换为Java对象,开发工具Android Studio 提供的预览功能,开发过程中界面和业务可以并行开发,提高了开发效率。以下分析过程是基于 Android API 25 Pl