自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

quanhaoH的专栏

我在学习

  • 博客(180)
  • 资源 (9)
  • 收藏
  • 关注

原创 MacOS 应用程序中禁用NSSecureTextField密码自动填充

还有一个方法可以使用oneTimeCode来禁用掉密码自动填充,但是在某些机型下发现密码输入框在空白的情况下会弹出空白窗口,NSSecureTextField在输入的时候总是弹出密码自动填充,如果不在意可以强行。最后使用私有属性解决了。

2023-08-24 14:14:47 301 1

原创 Mac OS Swift UI List

【代码】Mac OS Swift UI List。

2023-05-09 15:16:19 165 1

原创 Mac链接生成二维码

【代码】Mac链接生成二维码。

2023-03-17 14:10:05 374

原创 c++ rfc3339转时间戳

【代码】c++ rfc3339转时间戳。

2023-02-03 14:45:18 442 1

原创 iOS RFC3339时间解析为时间戳 记录下

【代码】iOS RFC3339时间解析为时间戳 记录下。

2023-01-13 15:25:58 321 1

原创 sqlite3 打开中文路径失败

中文Windows平台默认字符编码是gbk,可以使用sqlite3_open16代替sqlite3_open,需要配置Vs为字符集:使用 Unicode 字符集,包含头文件#include 或者。在linux平台下,系统编码是utf8,很少出现问题,但是windows平台下,如果数据库文件名称或路径有中文,通常会出现错误。调用sqlite3,mbcs和utf8之间转换的函数:sqlite3_win32_mbcs_to_utf8。

2022-12-20 11:34:56 700 1

原创 Swift 中的 async await

let ret = value1 + value2 //假设小于10就返回错误 guard ret > 10 else {do {

2022-11-21 13:27:06 1472 1

原创 Swift willset didset理解

【代码】Swift willset didset理解。

2022-11-01 14:35:58 390

原创 创建framework,没有Products目录

搜索productRefGroup

2022-09-28 13:33:30 188

原创 Mac OS 使用ScreenCaptureKit进行窗口抓取和系统声音抓取

是Mac应用程序下的高性能屏幕录制库,当捕获新的视频帧和音频样本时,它会将它们作为包含媒体数据及其相关元数据的对象传递给你的应用程序。获取所有的screen内容获取所有的window内容过滤screen及window的方法获取系统声音过滤当前app的内容及声音使用Metal渲染捕捉流如何切换采集对象并渲染文末有完整demo。

2022-09-15 15:15:21 1739 3

原创 Mac OS 使用Metal渲染NV12、YUV420、CMSampleBufferRef视频

Mac OS 使用Metal渲染NV12、YUV420、CMSampleBufferRef视频

2022-08-29 15:19:34 1682

原创 互关,互关,互关!!!

互关,互关,互关

2022-08-23 12:40:59 568 22

原创 macOS swift下使用贝塞尔曲线制作五子棋盘(2)

上一篇我们实现了绘制棋盘格子以及棋子的功能,这一篇我们来实现黑白子交替落子和判断胜负

2022-08-08 10:19:50 7894

原创 Mobile App自动化测试技术及实现

mobile app自动化测试技术及实现

2022-08-05 17:52:16 8313

原创 macOS swift下使用贝塞尔曲线制作五子棋盘(1)

实现macOS下的五子棋盘。

2022-08-05 13:18:05 8127

原创 Swift 常用高阶函数

Swift 常用高阶函数

2022-07-21 14:30:21 8095

原创 Safari Web Extension 开发(1)

Safari Web 扩展使用 JavaScript API 和来自 Google Chrome、Mozilla Firefox 和 Microsoft Edge 浏览器扩展的常见文件格式向 Safari 添加自定义功能。这里以macOS的Safari Web Extension为例子。1.在 Xcode 中,选择“文件”>“新建”>“项目”。2.选择macOS,并向下滚动到Application部分,然后选择 Safari Extension App 模板。3.点击下一步。自定义扩展中使用的国际化字

2022-07-12 17:08:20 8329

原创 Mac OS Swift UI 如何在Swift UI中灵活的使用NSTextField

输入框a跟随b的内容而变化,输入框b也跟随a的内容变化而变化。创建一个输入框,并绑定一个text内容重写makeNSView重写updateNSView代理绑定加入contentViewEND

2022-07-08 16:23:25 8247

原创 Mac OS Swift UI 中使用WKWebView,以及实现代理

首先进行项目配置,支持入网​​​​​​​​首先为了能在Swift UI中使用WebView,应该对其进行包装实现代理自定义webView观察网页在什么时候需要前进或者后退,这个时候要用ObservableObject来进行包装调试现在,可以将它放到contentView中调试最终效果...

2022-07-07 17:29:47 9590

原创 Mac OS Swift UI中的List 和Alert

Swift UI

2022-07-07 13:51:58 8036

原创 SwiftUI Bluetooth 使用

SwiftUI Bluetooth

2022-07-05 13:53:42 8385

原创 Mac OS Swift UI 上导航栏窗口

import SwiftUIstruct ContentView: View { //默认第一个 @State var selected = "0.circle" @Namespace var animation var body: some View { VStack{ ZStack(alignment: Alignment(horizontal: .center, vertical: .bottom)){ .

2022-03-25 14:35:42 10015

原创 Mac OS Swift UI双栏搜索窗口

import SwiftUIstruct ContentView: View { var body: some View { HStack{ List{ Label("测试",systemImage:"book") Label("测试",systemImage:"book") Label("测试",systemImage:"book") ......

2022-03-22 15:44:51 250

原创 Mac OS Swift UI 三栏布局

import SwiftUIvar leftItems = ["left1", "left2", "left3", "left4"]var middleItems1 = ["middle1-1", "middle1-2"]var middleItems2 = ["middle2-1", "middle2-2", "middle3-3"]var middleItems3 = ["middle4-1", "middle4-2", "middle4-3", "middle4-4"]struct ...

2022-03-21 14:58:17 3423

原创 Mac OS开发如何让一个窗口显示在另一个全屏应用(专注模式)之上

今天发现NSWindow并没有显示在其他的全屏窗口之上,做以下改动实现了显示在其他全屏窗口的上方。1.不使用 NSWindow,而使用 NSPanel。2.修改 NSWindow.Level 为 modalPanel。window?.level = .modalPanel3.设置 collectionBehavior 为 canJoinAllSpaces 和 fullScreenAuxiliary。window?.collectionBehavior = [.canJoinAllSp

2022-03-15 12:37:02 9725

原创 Mac OS 如何让其他应用窗口活跃并置前

let options = CGWindowListOption(arrayLiteral: CGWindowListOption.excludeDesktopElements, CGWindowListOption.optionOnScreenOnly) let windowListInfo = CGWindowListCopyWindowInfo(options, CGWindowID(0)) guard let infoList = windowListInfo as NSA...

2022-02-21 16:59:51 8883

原创 Mac OS窗口进入其他spaces

记录一下, 又忘了。window.collectionBehavior = .canJoinAllSpaces

2021-12-28 10:50:08 191

原创 Mac OS 报错 You must first sign the relevant contracts online. (1048)

[2021-06-22 19:20:45 CST] <main> DBG-X: Apple's web service operation return value:[2021-06-22 19:20:45 CST] <main> DBG-X: parameter Errors = [You must first sign the relevant contracts online. (1048)][2021-06-22 19:20:45 CST] <main>.

2021-06-23 10:23:07 654 1

原创 Swift降低方法的重载被调用的次序

mark以下@_disfavoredOverload 可以降低方法的重载被调用的次序

2021-03-30 18:00:20 153

原创 Mac OS 模态窗口

let userWindow = UserWindow(windowNibName: "UserWindow")NSApp.runModal(for: userWindow.window!)记得在窗口关闭的时候取消模态func windowWillClose(_ notification: Notification) { NSApp.stopModal()}

2020-12-30 10:21:04 721

原创 Mac OS 用NSView做出按钮效果

class CustomViewButton: NibView { var trackingArea: NSTrackingArea? var select = false var normalImg: NSImage? var selectImg: NSImage? var normalColor = NSColor.white var selectColor = Color.themeColor ...

2020-12-28 14:44:37 265

原创 Mac OS 只允许NSTextField输入数字

好久没写文章了,随便凑一个//重写NSTextField的NumberFormatterclass OnlyIntegerValueFormatter: NumberFormatter { override func isPartialStringValid(_ partialString: String, newEditingString newString: AutoreleasingUnsafeMutablePointer<NSString?>?, errorDescri

2020-12-24 13:49:58 558

原创 Swift Extension如何添加属性

报错Extensions must not contain stored properties这个时候我们应该使用关联属性来实现想要的功能public extension UIView { private struct AssociatedKey { static var clipType: CornerClipType = .None } var clipType: CornerClipType { get { .

2020-09-02 15:20:00 8202

原创 Electron 开发环境搭建(仅供自己学习)

开发环境macOS 开发环境配置Winodws开发环境配置Linux开发环境配置编辑器ENDmacOS 开发环境配置Electron支持 macOS 10.10 (Yosemite) 及以上版本安装最新版本的Node.js 。访问Node.js下载页面下载页面选择 macOS Installer 。下载完成后, 执行安装程序,根据引导完成安装即可。安装完成后,我们需要来确认Node.js是不是可以正常工作。 在/Applications/Utilities文件夹中找到macOS的Terminal

2020-08-21 14:02:29 5532

原创 iOS 手势穿过父视图,并且不影响父视图上的子视图响应手势

今天有个同事遇到一个问题。在Scroll View上改了一层view。view上有个按钮,他想手势穿过view去滑动Scroll View,但是又想view的上的按钮响应事件。如图:其实很简单:重写test的hitTest方法就好了。如果为父视图响应则向下传递,不然子视图按钮继续响应//// test.swift// test//// Created by quanhao huang on 2020/8/21.// Copyright © 2020 hqh. All rights

2020-08-21 13:35:12 7605

翻译 Kotlin 数据类与密封类

文章目录Kotlin 数据类与密封类数据类复制实例数据类以及解构声明标准数据类密封类ENDKotlin 数据类与密封类数据类Kotlin 可以创建一个只包含数据的类,关键字为 data:data class User(val name: String, val age: Int)编译器会自动的从主构造函数中根据所有声明的属性提取以下函数:equals() / hashCode()toString() 格式如 “User(name=John, age=42)”componentN() fu

2020-08-20 10:18:12 4666

翻译 Kotlin 扩展

文章目录Kotlin 扩展扩展函数扩展函数是静态解析的扩展一个空对象伴生对象的扩展扩展的作用域扩展声明为成员ENDKotlin 扩展Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式。扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响。扩展函数扩展函数可以在已有类中添加新的方法,不会对原类做修改,扩展函数定义形式:fun receiverType.functionName(params){ body}receiverType:表示函

2020-08-19 15:48:33 3360

翻译 Kotlin 接口

文章目录Kotlin接口实现接口接口中的属性函数重写ENDKotlin接口Kotlin 接口与 Java 8 类似,使用 interface 关键字定义接口,允许方法有默认实现:interface MyInterface { fun bar() // 未实现 fun foo() { //已实现 // 可选的方法体 println("foo") }}实现接口一个类或者对象可以实现一个或多个接口。class Child : MyInterf

2020-08-18 14:21:12 4811

翻译 Kotlin 继承

文章目录Kotlin 继承构造函数子类有主构造函数子类没有主构造函数实例重写属性重写ENDKotlin 继承Kotlin 中所有类都继承该 Any 类,它是所有类的超类,对于没有超类型声明的类是默认超类:class Example // 从 Any 隐式继承Any 默认提供了三个函数:equals()hashCode()toString()注意:Any 不是 java.lang.Object。如果一个类要被继承,可以使用 open 关键字进行修饰。open class Base(

2020-08-17 11:32:24 5361

翻译 Kotlin 类和对象

文章目录类定义类的属性属性定义getter 和 setter示例主构造器示例次构造函数类定义Kotlin 类可以包含:构造函数和初始化代码块、函数、属性、内部类、对象声明。Kotlin 中使用关键字 class 声明类,后面紧跟类名:class Runoob { // 类名为 Runoob // 大括号内是类体构成}我们也可以定义一个空类:class Empty可以在类中定义成员函数:class Runoob() { fun foo() { print("Foo")

2020-08-15 14:47:20 5197

macOS swift,使用贝塞尔曲线实现五子棋及判断胜负

系统:macOS swift 语言:swift 实现功能:使用贝塞尔曲线实现五子棋及判断胜负。

2022-08-08

DpiDemo.zip

Qt 下的Dpi问题解决,拖动扩展屏如何处理,以及正确缩放当前的UI界面。 Qt 下的Dpi问题解决,拖动扩展屏如何处理,以及正确缩放当前的UI界面。

2020-08-05

testDemo.zip

Mac 应用,目的是让窗口展示在屏幕的最前边,一般用于窗口录制分享,或者应用录制分享时的UI解决办法。

2020-07-24

file-operations.rar

Qt 文件操作 1、创建文件目录 2、新建文件 3、遍历当前目录下的所有文件 4、压缩当前目录文件 5、解压当前zip包 6、删除某一种类型文件 7、删除当前目录下所有文件或者目录 8、删除指定文件夹

2020-07-17

file-operations.zip

Qt 文件操作 1、创建文件目录 2、新建文件 3、遍历当前目录下的所有文件 4、压缩当前目录文件 5、解压当前zip包 6、删除某一种类型文件 7、删除当前目录下所有文件或者目录 8、删除指定文件夹

2020-07-17

QuaZip.zip

使用了QuaZip完成的压缩和解压缩。比较小的一个demo,环境Qt5.12.4,VS2017,有兴趣的朋友可以下载一起讨论

2020-05-20

Qzipwriter+Qzipreader(Qt自带压缩解压缩).zip

使用了Qt下自己的库完成的压缩和解压缩。比较小的一个demo,环境Qt5.12.4,VS2017,有兴趣的朋友可以下载一起讨论

2020-05-20

OC与Swift混编

swift与oc混编的一些注意点,就是一个小demo,配合博客可以看看

2019-09-25

NSSpliteView.zip

NSSpliteView使用记录一下,

2019-09-03

空空如也

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

TA关注的人

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