- 博客(180)
- 资源 (9)
- 收藏
- 关注
原创 MacOS 应用程序中禁用NSSecureTextField密码自动填充
还有一个方法可以使用oneTimeCode来禁用掉密码自动填充,但是在某些机型下发现密码输入框在空白的情况下会弹出空白窗口,NSSecureTextField在输入的时候总是弹出密码自动填充,如果不在意可以强行。最后使用私有属性解决了。
2023-08-24 14:14:47
389
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
810
1
原创 Swift 中的 async await
let ret = value1 + value2 //假设小于10就返回错误 guard ret > 10 else {do {
2022-11-21 13:27:06
1582
1
原创 Mac OS 使用ScreenCaptureKit进行窗口抓取和系统声音抓取
是Mac应用程序下的高性能屏幕录制库,当捕获新的视频帧和音频样本时,它会将它们作为包含媒体数据及其相关元数据的对象传递给你的应用程序。获取所有的screen内容获取所有的window内容过滤screen及window的方法获取系统声音过滤当前app的内容及声音使用Metal渲染捕捉流如何切换采集对象并渲染文末有完整demo。
2022-09-15 15:15:21
2162
4
原创 Mac OS 使用Metal渲染NV12、YUV420、CMSampleBufferRef视频
Mac OS 使用Metal渲染NV12、YUV420、CMSampleBufferRef视频
2022-08-29 15:19:34
1795
原创 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
8382
原创 Mac OS Swift UI 如何在Swift UI中灵活的使用NSTextField
输入框a跟随b的内容而变化,输入框b也跟随a的内容变化而变化。创建一个输入框,并绑定一个text内容重写makeNSView重写updateNSView代理绑定加入contentViewEND
2022-07-08 16:23:25
8275
原创 Mac OS Swift UI 中使用WKWebView,以及实现代理
首先进行项目配置,支持入网首先为了能在Swift UI中使用WebView,应该对其进行包装实现代理自定义webView观察网页在什么时候需要前进或者后退,这个时候要用ObservableObject来进行包装调试现在,可以将它放到contentView中调试最终效果...
2022-07-07 17:29:47
9762
原创 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
10065
原创 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
278
原创 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
3506
原创 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
10008
原创 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
9065
原创 Mac OS窗口进入其他spaces
记录一下, 又忘了。window.collectionBehavior = .canJoinAllSpaces
2021-12-28 10:50:08
208
原创 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
773
1
原创 Mac OS 模态窗口
let userWindow = UserWindow(windowNibName: "UserWindow")NSApp.runModal(for: userWindow.window!)记得在窗口关闭的时候取消模态func windowWillClose(_ notification: Notification) { NSApp.stopModal()}
2020-12-30 10:21:04
769
原创 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
286
原创 Mac OS 只允许NSTextField输入数字
好久没写文章了,随便凑一个//重写NSTextField的NumberFormatterclass OnlyIntegerValueFormatter: NumberFormatter { override func isPartialStringValid(_ partialString: String, newEditingString newString: AutoreleasingUnsafeMutablePointer<NSString?>?, errorDescri
2020-12-24 13:49:58
611
原创 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
8301
原创 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
5561
原创 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
7797
翻译 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
4678
翻译 Kotlin 扩展
文章目录Kotlin 扩展扩展函数扩展函数是静态解析的扩展一个空对象伴生对象的扩展扩展的作用域扩展声明为成员ENDKotlin 扩展Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式。扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响。扩展函数扩展函数可以在已有类中添加新的方法,不会对原类做修改,扩展函数定义形式:fun receiverType.functionName(params){ body}receiverType:表示函
2020-08-19 15:48:33
3378
翻译 Kotlin 接口
文章目录Kotlin接口实现接口接口中的属性函数重写ENDKotlin接口Kotlin 接口与 Java 8 类似,使用 interface 关键字定义接口,允许方法有默认实现:interface MyInterface { fun bar() // 未实现 fun foo() { //已实现 // 可选的方法体 println("foo") }}实现接口一个类或者对象可以实现一个或多个接口。class Child : MyInterf
2020-08-18 14:21:12
4825
翻译 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
5378
翻译 Kotlin 类和对象
文章目录类定义类的属性属性定义getter 和 setter示例主构造器示例次构造函数类定义Kotlin 类可以包含:构造函数和初始化代码块、函数、属性、内部类、对象声明。Kotlin 中使用关键字 class 声明类,后面紧跟类名:class Runoob { // 类名为 Runoob // 大括号内是类体构成}我们也可以定义一个空类:class Empty可以在类中定义成员函数:class Runoob() { fun foo() { print("Foo")
2020-08-15 14:47:20
5225
file-operations.rar
2020-07-17
file-operations.zip
2020-07-17
Qzipwriter+Qzipreader(Qt自带压缩解压缩).zip
2020-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人