自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gamin

学习和开发中的笔记

  • 博客(829)
  • 资源 (148)
  • 收藏
  • 关注

原创 [Harmony]复制字符串到剪贴板

该代码片段展示了在OpenHarmony系统中实现文本复制到剪贴板的功能。通过@ohos.pasteboard模块创建包含纯文本的数据对象,并使用系统剪贴板存储数据。操作成功会显示"文本已复制"提示,失败则提示"复制失败"。需要在配置文件中声明ohos.permission.READ_PASTEBOARD权限才能读取剪贴板内容,但使用系统标准输入框等安全控件时无需此权限。

2025-11-28 15:28:46 205

原创 [Harmony]如何获取手机的UDID

获取鸿蒙手机UDID时出现"command not found:hdc"错误的解决方法:该问题是由于HDC工具未正确配置到系统PATH环境变量中导致的。解决方法是将HDC工具路径添加到环境变量:对于zsh shell,编辑~/.zshrc文件添加路径并执行source命令;对于Bash shell,则编辑~/.bashrc文件。配置完成后重启终端即可正常使用hdc命令获取UDID。完整路径为/Applications/DevEco-Studio.app/Contents/sdk/defa

2025-11-28 15:15:29 315

原创 [Harmony]Router跳转新页面和关闭回传数据

摘要:本文介绍了在HarmonyOS中使用router.pushUrl实现页面跳转及数据回传的方法。关键点包括:1) 使用router.pushUrl跳转页面;2) 在目标页面通过router.back返回并传参;3) 在onPageShow中接收回调数据。注意事项:组件需添加@Entry装饰器才能触发页面生命周期,且必须在pages.json中配置为路由页面。示例展示了MFRechargeAddMemberView通过pushUrl跳转到MFPayPasswordSetView,后者通过back方法返回支

2025-11-28 14:46:43 256

原创 [Harmony]跳转应用商店进行版本更新

摘要:该代码实现了一个HarmonyOS应用的版本更新功能,主要包括:1)获取当前应用版本信息;2)通过API检查版本更新;3)跳转华为应用商店更新页。其中jumpToAppStore方法使用UIAbilityContext跳转到应用商店,需真机调试,支持自定义包名测试(如微信com.tencent.wechat)。版本检查通过比较服务端返回的version_code与本地版本号判断是否需要更新,并支持强制更新配置。完整实现包含版本模型定义、网络请求处理和UI交互逻辑。(149字)

2025-11-28 12:21:54 841

原创 [Harmony]设置页面常亮让手机不熄屏

本文展示了一个鸿蒙应用屏保页面的屏幕常亮实现方案。通过CustomDialog组件,在aboutToAppear()生命周期中调用setKeepScreenOn(true)开启常亮,在aboutToDisappear()中关闭。核心方法通过window.getLastWindow获取窗口实例,使用setWindowKeepScreenOn控制屏幕状态,并添加了异常处理。该方案适用于需要保持屏幕唤醒的场景,如展示屏保内容时防止自动锁屏。

2025-11-28 11:59:42 199

原创 [Harmony]弹窗在自动退出登录后不关闭的问题

摘要:文章探讨了在HarmonyOS开发中处理弹窗关闭问题的三种解决方案。1) 对于CustomDialog弹窗,建议在aboutToDisappear生命周期中手动关闭弹窗;2) 对于PromptAction弹窗,同样需要在aboutToDisappear中关闭,并保存ComponentContent引用;3) 通过设置levelMode为EMBEDDED可使弹窗随页面关闭,但需注意API15+的兼容性问题。文中还提供了PromptUtils工具类,封装了弹窗的打开、关闭和更新操作,便于统一管理弹窗行为。

2025-11-28 11:45:14 333

原创 [Harmony]设置应用程序的颜色模式

摘要:应用程序开发需适配深色模式,否则可能被应用商店拒绝审核。代码示例展示了在Ability中设置颜色模式为浅色模式(COLOR_MODE_LIGHT)的方法。若未强制设置为浅色模式,则必须确保APP在深色模式下能正常显示。COLOR_MODE_NOT_SET表示未指定状态,开发者需要处理不同主题模式的样式适配问题。

2025-11-28 11:04:42 498

原创 [Harmony]应用图标资源需分层

摘要:应用图标需按规范配置为前景图(foreground.png)和背景图(background.png)两层,尺寸必须为1024px*1024px。需在AppScope/resources/base/media目录下放置对应图片,并在module.json5中使用"$media:layered_image"引用,禁止使用自定义图标路径。图标资源不得自行裁切圆角或添加内间距,必须通过HUAWEI DevEco Studio 5.0.5.315及以上版本处理。

2025-11-28 10:49:54 314

原创 [Harmony]如何禁用侧滑返回

【代码】[Harmony]如何禁用侧滑返回。

2025-11-27 18:14:15 351

原创 [Harmony]Scroll嵌套滚动

摘要:本文介绍了nestedScroll属性的四种滚动模式(SELF_FIRST、PARENT_FIRST、PARALLEL、SELF_ONLY)及其应用场景,并通过会员详情页面的代码示例展示了实际用法。示例中父Scroll和子Scroll组件分别设置了不同的滚动模式:向前滚动时父组件优先(PARENT_FIRST),向后滚动时子组件优先(SELF_FIRST),实现了更灵活的滚动交互效果。

2025-11-27 18:08:46 342

原创 [Harmony]网络状态监听

本文介绍了HarmonyOS应用开发中的网络状态监听实现方法。首先在module.json5中声明了GET_NETWORK_INFO和INTERNET两个必要权限。然后详细解析了一个网络状态监听工具类NetworkMonitor的实现,通过创建NetConnection实例并注册监听事件,实现对网络连接状态(如可用、断开、不可用)和网络类型(蜂窝/WiFi/以太网)的实时监测。该工具类采用单例模式,提供添加/移除监听回调的方法,为开发者提供了完整的网络状态监控解决方案。最后示例展示了在窗口创建阶段

2025-06-04 14:28:03 547

原创 [Harmony]颜色初始化

这是一个颜色工具类ColorUtils,提供颜色格式转换功能。主要包含:1) fromHex方法处理十六进制颜色(支持#RRGGBB、#AARRGGBB等多种格式);2) fromRGBA方法创建RGBA颜色;3) toHexString将颜色转为十六进制字符串;4) toRGBA转换为RGBA对象。支持透明度处理,自动补全简写格式,并提供类型安全的颜色值转换。

2025-06-04 14:19:58 533

原创 [Harmony]实现JSON与类的双向转换

通过使用 reflect-metadata 和 class-transformer,可以实现 JSON 与类实例之间的双向转换。reflect-metadata 提供了元数据修饰符,如 @Reflect.metadata,用于为类、属性或方法附加元数据,支持获取属性类型、方法参数类型和返回类型。class-transformer 则提供了核心修饰符,如 @Expose 控制属性序列化/反序列化可见性,@Type 指定嵌套类型转换规则,@Transform 自定义值转换逻辑。通过定义基类 BaseModel

2025-05-22 18:39:42 939

原创 [Harmony]网络请求

本文介绍了如何在OpenHarmony系统中使用OHPM安装@ohos/axios依赖,并配置网络权限。接着,文章详细展示了如何对axios进行二次封装,创建一个HttpService类,提供GET和POST请求的统一接口,并处理错误和请求配置。封装类支持不同环境的API地址配置,并提供了公共参数的处理方法。最后,文章通过一个登录功能的示例,展示了如何使用封装后的HttpService进行网络请求,并处理响应数据。

2025-05-22 15:32:32 472

原创 [Harmony]自定义Toast

该代码定义了一个Toast类,用于在应用中显示提示信息。Toast类包含两个静态方法:show和showWithOffset。show方法用于显示基础Toast,接受提示内容和显示时长(默认1500毫秒)作为参数。showWithOffset方法用于显示带垂直偏移量的Toast,接受提示内容和偏移量(默认50%)作为参数。两个方法在显示前都会通过isBlank函数检查提示内容是否为空或仅包含空白字符。isBlank函数用于判断字符串是否为空或仅包含空白字符。代码通过promptAction.showToas

2025-05-22 15:16:17 207

原创 [Harmony]模拟器抓包

Charles是一款常用的网络抓包工具,适用于iOS和Android设备。对于iOS设备,用户可以通过Mac电脑的网络管理配置Charles代理,而Android模拟器则可以在模拟器的网络代理设置中手动配置。对于真机,需要安装并信任Charles的CA证书。具体步骤包括从Charles获取代理地址和端口,然后在设备或模拟器中配置网络代理。通过这些步骤,用户可以成功抓取HTTPS接口的数据包。

2025-05-22 10:39:38 372

原创 [Harmony]WebView基本用法

在module.json5中申请网络权限,通过requestPermissions字段指定ohos.permission.INTERNET权限,并设置使用场景为始终可用。在跳转至WebView时,通过router.pushUrl传递网页地址和标题参数。WebView组件通过aboutToAppear生命周期接收路由参数,并加载指定网页。页面包含导航栏,支持返回操作,并显示网页加载状态。整体流程实现了网络权限申请、参数传递及WebView页面展示。

2025-05-22 09:32:27 478

原创 [Harmony]自定义导航栏

本文介绍了两种自定义导航栏的实现方案,并提供了获取状态栏高度的工具类和使用示例。方案一通过CustomNavigationBar组件实现导航栏,包含返回按钮、Logo和标题,支持动态调整高度。方案二在方案一的基础上增加了状态栏占位区域,并支持全屏模式,但需注意页面底部可能超出屏幕,需手动设置margin。工具类DevicesUtil用于获取状态栏高度,支持物理像素与虚拟像素的转换。使用示例展示了如何在协议页面中应用自定义导航栏,并处理页面跳转和参数传递。两种方案均适用于不同场景,开发者可根据需求选择。

2025-05-21 09:40:58 409

原创 [Harmony]获取设备参数

DevicesUtil 是一个用于获取设备信息的工具类,支持获取屏幕宽度、高度、状态栏高度、导航栏高度、刘海高度、设备型号、系统版本号等信息。通过 display 模块获取屏幕的物理像素,并使用 pxToVp 方法将其转换为虚拟像素(vp),便于布局。状态栏、导航栏和刘海高度的获取通过 window.getWindowAvoidArea 实现,支持返回物理像素或虚拟像素。设备信息如设备类型、品牌、型号、系统版本等通过 deviceInfo 模块获取。此外,还支持获取系统语言和格式化语言名称。

2025-05-20 15:13:45 556

原创 [Harmony]大文件持久化

在开发过程中,首先需要在module.json5文件中添加权限ohos.permission.READ_WRITE_USER_FILE,以允许读写用户数据,并在string.json中定义权限使用原因。接着,封装了一个大文件数据持久化工具MFLargeDataStorage,使用@ohos.file.fs模块实现文件的读写操作,支持保存和加载JSON格式的用户数据。最后,通过示例展示了如何在应用中使用该工具,包括设置上下文、保存用户数据以及加载并输出数据。整个过程确保了数据的安全存储与高效访问。

2025-05-15 17:43:49 359

原创 [Harmony]获取资源文件中.txt文件中的字符串

文章摘要:本文介绍了如何通过UserDataManager类从src/main/resources/rawfile/userInfo.txt文件中读取JSON字符串。UserDataManager类使用getRawFileContent方法获取文件内容,并通过buffer模块将其转换为UTF-8格式的字符串。示例代码展示了如何在Index组件中调用getTextFromResource方法,并在点击按钮时输出文件中的JSON字符串。该方法适用于在应用中动态读取和解析资源文件。

2025-05-15 17:17:49 339

原创 [Harmony]封装一个可视化的数据持久化工具

本文介绍了在HarmonyOS应用中如何添加权限、封装数据持久化工具及其使用示例。首先,在module.json5文件中声明应用所需的分布式数据同步权限,并配置使用场景。接着,封装了一个基于@ohos.data.preferences的可视化数据持久化工具MFStorageManager,支持初始化、获取、更新和选择性清除缓存数据等功能。工具类中还定义了一个自定义的ConsoleLog类,用于在控制台输出日志时添加前缀。最后,通过一个示例展示了如何在页面中使用MFStorageManager进行用户ID的设

2025-05-15 12:58:06 587

原创 [SwiftUI]如何让Text靠左上对齐并且文本最多只展示两行

有一个需求,要商品名称占用两行的高度,但文本不能居中要左上对齐。

2025-04-27 11:51:41 400

原创 [Error]DevEco新建一个空项目时报错Process finished with exit code 255

目录及其所有子目录的所有权更改为当前用户。文件夹中创建文件或目录。在执行过程中需要访问。

2025-04-23 09:44:29 544

原创 [SwiftUI]切换根视图

切换根视图 @StateObject @EnvironmentObject @AppStorage

2025-04-20 11:20:48 540

原创 [Swift]Xcode模拟器无法请求http接口问题

现在我在Xcode16.3上,这种设置方式在真机上能请求http(应该是设备开启了开发者模式),但在模拟器上请求http是被拒绝的。,因为它不允许所有不安全的连接,但例外列表允许连接到一些没有 HTTPS 的域。这样模拟器上就能正常请求http接口了。默认限制了非 HTTPS 请求。

2025-04-19 22:18:37 1013

原创 [Swift]pod install成功后运行项目报错问题error: Sandbox: bash(84760) deny(1)

它主要与 Xcode 的脚本执行环境有关,目的是提高构建脚本的安全性,防止脚本对系统或文件进行未经授权的操作。在Xcode中,前往项目的“Build Settings”部分,将属性设置。ENABLE_USER_SCRIPT_SANDBOXING 默认值。在 Swift 或 Xcode 项目中,pod install成功后运行报错。

2025-04-19 12:20:28 906

原创 [Git]克隆仓库报错warning: remote HEAD refers to nonexistent ref, unable to checkout

从远程仓库clone项目,报错warning: remote HEAD refers to nonexistent ref, unable to checkout,只拉取到了隐藏.git文件夹。没有列出任何分支,说明远程仓库确实是空的,或者没有任何有效的分支。如果远程仓库有分支,你可以手动切换到一个有效的分支。注意,这里用git branch获取不到分支明显。这将会切换到你选择的分支并检出代码。切换分支后,重新拉取项目就可以了。如果远程仓库的默认分支是。

2025-03-02 12:20:58 535

原创 [Android]使用WorkManager循环执行任务

使用WorkManager每隔30分钟执行一次任务。这种方式最低适配到SDK=33。

2025-02-22 09:08:46 609

原创 [Android]浏览器下载的apk文件无法识别无法安装问题

在Android电话机上,用浏览器下载apk进行版本更新,出现下载文件没被识别为apk,导致无法安装问题。正常识别的apk文件前会有个Android默认图标,识别不了的时候前面是个文件标识。必须要使用有域名的链接来进行下载,像之前使用华为云的地址就导致下载后文件不识别。注意:使用华为云的链接在手机端是能正常下载安装的,估计是浏览器不一样的问题。

2025-02-21 14:31:17 1203

原创 [Android]避免文本太长将右侧标签挤出展示区域之外

【代码】[Android]避免文本太长将右侧标签挤出展示区域之外。

2025-02-21 14:25:53 194

原创 Andorid Studio下载历史版本

https://developer.android.com/studio/archive

2025-02-21 12:00:48 377

原创 [Android]DialogLifeCycle禁止点击背景关闭弹窗

在 Kotlin 中,可以通过设置 Dialog 的 setCanceledOnTouchOutside 方法来避免点击弹窗之外的背景而关闭弹窗。您可以在 DialogLifeCycle 的 show 方法中设置这一属性。

2025-02-21 11:52:51 355

原创 [Android]如何在代码中访问LayoutParams修改layout_weight?

要在 `yearWheelView` 中修改 `layout_weight` 属性,您可以直接访问其布局参数(LayoutParams)并设置新的 `layout_weight` 值。代码如下,如何在代码中修改NumberWheelView的layout_weight?

2025-02-21 11:42:18 377

原创 [Android]App生命周期

// APP生命周期) {// 可选:在 Activity 创建时执行任务// 应用进入前台NSLog("应用进入前台, App has entered the foreground")// 发送广播通知// 可选:在 Activity 恢复时执行任务// 可选:在 Activity 暂停时执行任务// 应用进入后台NSLog("应用进入后台, App has entered the background")// 可选:在保存 Activity 状态时执行任务。

2025-02-21 11:35:21 425

原创 [Android]MD5

【代码】[Android]MD5。

2025-02-21 11:28:41 157

原创 [Android]页面间传递model列表

这样就可以通过 Parcelable 传递 NNBBUUModel 列表到另一个页面。

2025-02-21 11:23:03 382

原创 [Android]应用内更新问题

从 Android 11 开始,即使应用程序请求了 WRITE_EXTERNAL_STORAGE 权限,系统也会将其视为 READ_EXTERNAL_STORAGE 权限。因此,在 Android 11 及更高版本中,应用程序将无法直接写入外部存储,而必须通过其他方式来访问共享文件系统。因此,从 Android 11 开始,开发者需要使用更安全的 Scoped Storage 或其他适当的方式来处理文件访问,以兼容最新的 Android 版本。

2025-02-21 11:17:09 490

原创 [Android]AppCompatEditText限制最多只能输入两位小数

要限制 AppCompatEditText 只能输入两位小数,可以使用 TextWatcher 来实时监控用户输入,并在超出限制时进行处理。:在 XML 布局中定义 AppCompatEditText,如你所示。:在代码中为该 AppCompatEditText 添加 TextWatcher,以便在用户输入时进行验证和格式化。

2025-02-21 10:53:14 575

原创 [Android]使用AlarmManager设置周期性任务

设置周期性任务每隔一小时执行一次任务。

2025-02-21 10:41:31 581

MVVM模式简单demo

这是一个是MVVM模式实现的在tableview上分层选择省市区的demo

2018-09-29

GAIPADemo 2.zip

使用第三方XYIAPKit工具,写了一个简单内购demo, 测试了一下能完美适用于各种购买 。

2019-10-15

上传到阿里云OSS的图片处理

上传到阿里云OSS的图片处理,可查看官网文档:https://help.aliyun.com/document_detail/44688.html?spm=a2c4g.11186623.6.1179.4d1f53b3WU0oXy

2019-01-23

WKWebViewDemo

这是一个WKWebView的简单使用demo,包含于H5的一些简单交互。

2019-01-20

自定义相机拍照购

拍照购demo(自定义相机+结果页动画),类似京东和淘宝APP上的图片搜索...

2018-10-23

GAEditTextDemo.zip

一个简单的使用ZSSRichTextEditor的一个用于iOS的漂亮的富文本编辑器。它包含了所有的标准编辑器工具

2019-07-11

GAHomeDemo.zip

就是一个简单结构的项目的搭建demo。 首页只是通过下面方法切换控制器: - (void)transitionFromViewController:(UIViewController *)fromViewController toViewController:(UIViewController *)toViewController duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^ __nullable)(void))animations completion

2019-07-10

AutoLayoutDemo

一个简单demo,SDAutoLayout的简单使用....

2018-08-27

选择开始时间和结束时间

一个分段选择开始时间和结束时间的demo,会现在结束时间的选择在开始时间之后。

2019-01-21

自定义图片选择器

demo功能包含自定义图片选择器(GACustomSelectPIC)、保存图片到自定义相册、拍照完成可自由裁剪(PureCamera)

2018-10-31

12.0 (16A366)

iOS开发真机升级12.0系统后,解决xcode未升级之前无法连接手机调试的问题。 解压后放如目录: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

2018-09-28

VoicePlayerDemo.zip

iOS开发的一个简单的音频录制和播放demo,支持对安卓录制格式(amr)的播放。

2019-07-15

简单使用UIMenuController

简单使用UIMenuController给UILabel添加复制、粘贴、分享功能

2018-08-27

自定义相机

拍照购demo(自定义相机+结果页动画),类似京东和淘宝APP上的图片搜索...

2018-10-25

GAEditDemo.zip

简单的一个demo,获取点击的点在屏幕上的坐标,获取某个view在屏幕上的位置。 UIWindow *window = [[[UIApplication sharedApplication] delegate] window]; CGRect rect = [tempBut convertRect:tempBut.bounds toView:window];

2019-07-16

MasonryDemo

使用Masonry纯代码约束视图 mas_makeConstraints() mas_remakeConstraints() mas_updateConstraints() equalTo() mas_equalTo() width() mas_width()

2018-07-26

PhotoDemo图片选择器.zip

demo功能包含自定义图片选择器(GACustomSelectPIC)、保存图片到自定义相册、拍照完成可自由裁剪(PureCamera)

2019-05-28

价格选择.zip

一个拖动滑块选择minPrice和maxPrice的简单demo [以上]

2019-07-29

从控制器中分离出View

方法: objc_setAssociatedObject(id _Nonnull object, const void * _Nonnull key, id _Nullable value, objc_AssociationPolicy policy) 参数: object 关联者 key key与value是一一对应的关系,必须确保key全局唯一。 value 关联的对象 policy 关联策略: 方法: objc_getAssociatedObject(id _Nonnull object, const void * _Nonnull key)

2018-10-10

简单KVO Demo

只是一个iOS开发简单使用KVO的demo,只是备份用不着下载。 ps:上传错了,后面删除。

2019-02-12

GASuspendViewDemo

一个添加在window上悬浮视图。 可固定,可拖动,还可以限制一个拖动范围。 可限定在只某些页面展示。

2023-03-26

安卓手机与Mac电脑文件互传AndroidFileTransfer

安卓手机与Mac电脑文件互传AndroidFileTransfer

2022-12-02

iOS使用MonkeyDev完成Hook

使用七猫举个例,去移除小说阅读页底部广告和章节之间的广告。

2022-11-24

charles-proxy-4.2.7长期版

charles-proxy-4.2.7长期版-V-

2022-11-20

GAVideoRecordDemo.zip

一个简单的添加视频的demo,包含从相册选择视频和直接录制视频,然后将mov转为mp4. .

2020-01-20

GAAVPlayerViewControllerDemo.zip

一个简单的AVPlayerViewController demo,通过控制showsPlaybackControls确定使用系统播放管理样式还是自定义播放器样式。

2020-01-22

GAEmptyDataDemo.zip

GAEmptyDataDemo

2021-10-22

GACallSoundDemo.zip

音视频聊天时,设置自定义来电铃声,并会根据震动模式设置震动 。

2020-01-06

GAGradientRampDemo.zip

swift绘制渐变色

2021-08-05

UIButton+Badge.zip

UIButton+Badge,通过运行时的方式对UIButton拓展了标签展示功能 .

2019-11-01

GAAppUpdate.zip

Swift app版本更新

2021-07-29

UIViewController+Present.zip

UIViewController+Present,这个分类是用来适配iOS13之后UIViewController模态弹出问题的. 使用这种方式就不用去项目中挨个找模态弹出了.

2019-11-01

GASimpleCalendar2.zip

弄的一个简单的日历,可以展开完全展示日历,也可以收回只展示已选择那一行。另外添加了选择器切换月份,还可以在列表中跨月选择切换日期。

2020-10-15

stdc++.6.0.9.zip

Xcode10:library not found for -lstdc++.6.0.9 临时解决

2021-04-03

GATextViewTestDemo.zip

Cell随着输入文字的换行自动增高 .

2020-10-26

UIView+BorderLine.zip

@interface UIView (BorderLine) /** 增加边框 @param borderWidth 边框宽度 @param borderColor 边框颜色 @param cornerRadius 边框圆角 */ - (void)addBorderLineWithBorderWidth:(CGFloat)borderWidth borderColor:(UIColor *)borderColor cornerRadius:(CGFloat)cornerRadius; /** 增加边框 @param borderWidth 边框宽度 @param borderColor 边框颜色 @param cornerRadius 边框圆角 @param borderType 边框类型 */ - (void)addBorderLineWithBorderWidth:(CGFloat)borderWidth borderColor:(UIColor *)borderColor cornerRadius:(CGFloat)cornerRadius borderType:(UIBorderSideType)borderType; @end

2019-10-26

UIView+AZGradient.zip

@property CGPoint az_startPoint; @property CGPoint az_endPoint; + (UIView *_Nullable)az_gradientViewWithColors:(NSArray<UIColor *> *_Nullable)colors locations:(NSArray<NSNumber *> *_Nullable)locations startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint; - (void)az_setGradientBackgroundWithColors:(NSArray<UIColor *> *_Nullable)colors locations:(NSArray<NSNumber *> *_Nullable)locations startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint; @end

2019-10-28

EmptyDataSet-demo.zip

UIScrollView+EmptyDataSet,是因为大佬是使用的UIScrollView的category扩展的功能,使用时调用非常清晰流畅.

2019-10-30

NSString+FileSize.zip

NSString+FileSize,获取到沙盒文件或文件夹路径时,可以通过这个NSString的拓展调用fileSize方法得到文件或文件夹的大小。

2019-10-31

UITextView+Placeholder.zip

@import UIKit; FOUNDATION_EXPORT double UITextView_PlaceholderVersionNumber; FOUNDATION_EXPORT const unsigned char UITextView_PlaceholderVersionString[]; @interface UITextView (Placeholder) /* 占位文字 */ @property (nonatomic, copy) NSString *placeholder; /* 占位文字颜色 */ @property (nonatomic, strong) UIColor *placeholderColor; @end

2019-10-26

空空如也

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

TA关注的人

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