首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏macOS 开发学习

    macOS AppKit 的事件响应简介

    图片来自网络 在AppKit中的事件都处于一个响应的链条中,这个链条是由一个叫做NSResponder 的类定义的,这个响应链条其实是一个列表,它里面装满了能够响应用户事件的对象.当用户点击鼠标,或者按下键盘的某个键 一个对象如果可以处理事件,那么这个对象必须继承自NSResponder这个类.在AppKit中,NSApplication,NSWindow,NSView都继承自NSResponder 一个NSResponder NSWindow对象会将事件派发到用户鼠标点击的NSView.对于键盘(keyboard)事件,NSWindow通常会将事件派发给key Window的第一响应者 由此可见,在事件派发的过程中,会根据事件种类(AppKit

    3.4K60发布于 2018-08-23
  • 来自专栏今天也有在好好摸鱼(雾

    UIKit, AppKit等类的进程处理

    The Main Thread Checker is a standalone tool for Swift and C languages that detects invalid usage of AppKit = "\(data.count) bytes downloaded" } } } task.resume() 本文作者:博主: gyrojeff    文章标题:UIKit, AppKit

    71130发布于 2021-05-21
  • 来自专栏macOS 开发学习

    Mac开发跬步积累(五): Dark Mode下适配你的UI界面

    aqua) appearance )基础上推出了暗黑模式(dark appearance),这种模式下可以更突出显示应用窗口中的内容,让用户的关注焦点聚集在App本身的视图中以便获取更佳的视觉体验.关于AppKit NSAppearance决定着AppKit如何渲染每个UI控件的效果,尤其是与颜色或者图片相关的部分. NSWindow会继承App的appearance效果; NSView会继承其父类或者NSWindow的appearance效果; 开发者可以设置App的整体或者部分的appearance效果; 当Appkit 根据appearance变化时自动调用drawingHandler中的代码进行图片创建,从而实现适配效果; 0x03: 自定义View 适配(NSView) 当改变当前的appearance时,AppKit 会自动添加过渡效果动画,但如果你的更新UI代码任务过重,AppKit将会丢弃过渡效果动画!

    2.8K20发布于 2018-12-14
  • 来自专栏学海无涯

    Xcode15新特性

    Image(.imageSet) // Image Set,只是新建不行,还必须有图片 } .padding() } } UIKit 与 AppKit module: "PreviewsMacros", type: "Common") // 使用 #Preview { UIKit 预览内容 } // AppKit NSViewController) -> () = #externalMacro(module: "PreviewsMacros", type: "Common") // 使用 #Preview { AppKit

    2K30编辑于 2023-07-09
  • 来自专栏快乐阿超

    SwifterSwift

    ' - 仅集成 Foundation 扩展: pod 'SwifterSwift/Foundation' - 仅集成 UIKit 扩展: pod 'SwifterSwift/UIKit' - 仅集成 AppKit 扩展: pod 'SwifterSwift/AppKit' - 仅集成 MapKit 扩展: pod 'SwifterSwift/MapKit' - 仅集成 CoreGraphics 扩展: pod extensions UITextView extensions UIViewController extensions UIView extensions UIWindow extensions AppKit

    1.5K10编辑于 2024-11-17
  • 来自专栏肘子的Swift记事本

    AttributedString——不仅仅让文字更漂亮

    超链接 image-20211007165456612 在WWDC 2021之前,SwiftUI没有提供对属性字符串的支持,如果我们希望显示具有丰富样式的文本,通常会采用以下三种方式: •将UIKit或AppKit AttributedString同时提供了SwiftUI、UIKit、AppKit三种框架的可用属性。UIKit或AppKit的控件同样可以渲染AttributedString(需经过转换)。 目前支持的属性明显少于uiKit和appKit。估计待日后SwiftUI提供更多的显示支持后会逐步补上其他暂不支持的属性。•uiKit可以在UIKit下被渲染的属性。 •appKit可以在AppKit下被渲染的属性•accessibility适用于无障碍的属性,用于提高引导访问的可用性。 为了方便自定义属性集被用于需要指定Scope的场合,在自定义Scope中推荐嵌套入需要的系统框架Scope(swiftUI、uiKit、appKit)。

    4.6K40编辑于 2022-07-28
  • 来自专栏肘子的Swift记事本

    肘子的 Swift 周报 #060|Older or Outer?我开始怀念非智能时代

    近期推荐 在 Mac Catalyst 应用中使用 AppKit (Using AppKit in Your Mac Catalyst App)[5] Seb Vidal[6] 虽然苹果在最近的 SwiftUI Catalyst 确实大大简化了适配工作,但它也存在一个显而易见的局限:无法直接使用一些 Catalyst 无法转换的 AppKit 组件。 在本文中,Seb Vidal 展示了如何利用私有的_UINSView和 AppKit 桥接机制,在 UIKit 应用中灵活引入原生的 AppKit 组件,从而弥补 Catalyst 的不足,并进一步扩展应用功能 onChange 异常:https://t.ly/hwnGJ [4] Fatbobman(东坡肘子):https://x.com/fatbobman [5] 在 Mac Catalyst 应用中使用 AppKit (Using AppKit in Your Mac Catalyst App):https://t.ly/EETxu [6] Seb Vidal:https://x.com/SebJVidal [7]

    56610编辑于 2024-12-05
  • 来自专栏肘子的Swift记事本

    肘子的 Swift 周报 | Swift,超越苹果生态!

    在转向 AppKit 的过程中,他探讨了一些鲜为人知的 AppKit 组件,如 NSTableHeaderCell 等,并通过 NSViewRepresentable构建了 SwiftUI 与 AppKit 文章中,作者强调他的目的并非是要比较 SwiftUI 与 AppKit 的性能优劣,或者质疑 SwiftUI 在 macOS 上的应用适用性。

    75910编辑于 2024-04-11
  • 来自专栏肘子的Swift记事本

    肘子的 Swift 周报 #009

    Apple’s use of AppKit, Catalyst, Swift and SwiftUI in macOS Sonoma[13] Alexandre Colucci[14] 在本文中,Alexandre 有多少应用使用了 Mac Catalyst 和 SwiftUI,相比之下又有多少是使用 AppKit 的? mastering-mapkit-in-swiftui-basics/ [12] Majid Jabrayilov: https://twitter.com/mecid [13] Apple’s use of AppKit , Catalyst, Swift and SwiftUI in macOS Sonoma: https://blog.timac.org/2023/1128-state-of-appkit-catalyst-swift-swiftui-mac

    78610编辑于 2023-12-04
  • 来自专栏CU技术社区

    LWN: 在 Linux 上运行 macOS 程序

    年第二季度的进展报告,整体介绍了项目当前的状况和进展:“我们很激动的看到,在2019年第二季度(四月一日至六月三十日)期间,社区的活跃度大大提高,有众多的pull request出现,低至底层汇编、高至例如AppKitAppKit这些,代码就跟Apple无关了。我们的AppKit和基础代码都是基于Cocotron的源代码。 Appkit是一个框架,包含了很多库函数和对象,能用来创建application的用户界面元素。Darling已经引入了很多其他的框架,其中不少都是上个季度由贡献者James Urquhart引入的。

    7.8K10发布于 2019-10-25
  • 来自专栏日常技术分享

    iOS load方法和initialize方法的异同

    initialize方法在init方法前调用 这时在Person+Category.m中实现initialize方法 并且运行 #import "Person+Category.h" #import <AppKit /AppKit.h> @implementation Person (Category) +(void)load { NSLog(@"%s",__func__); } +(void)initialize initialize )在调用子类的initialize 好的乘胜追击 这时将分类里的initialize方法去掉 再次运行 #import "Person+Category.h" #import <AppKit /AppKit.h> @implementation Person (Category) +(void)load { NSLog(@"%s",__func__); } // //+(void

    1.6K20发布于 2020-06-16
  • 来自专栏肘子的Swift记事本

    WWDC 2025 开发者特辑 | 肘子的 Swift 周报 #088

    Automatic Observation Tracking in UIKit and AppKit: The Feature Apple Forgot to Mention[46]by Peter Steinberger [47] 在 iOS 18 和 macOS 15 中,只需在 Info.plist 中开一个开关,UIKit 和 AppKit 即可自动跟踪 @Observable 模型的属性访问并在视图更新时自动刷新 sketching-composing-and-failing-my-app-icon-experience-with-apples-new-tool-icon-composer/ [45] implyKyra: https://x.com/SimplyKyraBlog [46] Automatic Observation Tracking in UIKit and AppKit Feature Apple Forgot to Mention: https://steipete.me/posts/2025/automatic-observation-tracking-uikit-appkit

    63310编辑于 2025-06-13
  • 来自专栏深度学习与python

    我庆幸果断放弃了SwiftUI:它还不够成熟

    但上图展示的效果其实是在 AppKit 中完成的,因为我在 SwiftUI 一直实现不了预期的功能。大家应该注意到了,中间的 SpriteKit 视图上有三个按钮(分别是 +、200% 和 -)。 这可以说是压死骆驼的最后一根稻草了,我决定放弃 SwiftUI,继续用 AppKit。 总    结 其实没能在项目中用到 SwiftUI,会让我感觉有点遗憾。 也许 SwiftUI 还没做好全面替代 AppKit 的准备。The Untitled Project 的 CiderKit 创作工具并不是作为 Catalyst 应用构建的,也不依赖于 UIKit。 但继续使用 AppKit 的最大优点,就是没有任何延迟而且一切功能完全符合预期。当然,整个构建过程更繁琐,而且自动布局功能也不怎么好用。

    6.3K20编辑于 2023-03-29
  • 来自专栏张善友的专栏

    MonoMac 1.0正式发布

    我们原来的目标不大:绑定足够的AppKit,这样你可以对OS X使用C#或者你最爱的.NET 语言来建设本地应用。我们利用了大量结合CocoaTouch API构建MonoTouch时的代码。

    82580发布于 2018-01-31
  • 来自专栏肘子的Swift记事本

    如何判断 ScrollView、List 是否正在滚动中

    isScrolling_2022-09-12_10.26.06.2022-09-12 10_28_09方法一:Introspect可在 此处[4] 获取本节的代码在 UIKit( AppKit )中,开发者可以通过 scrollView: UIScrollView, willDecelerate decelerate: Bool)手指拖动结束后( 手指离开时 ),调用此方法在 SwiftUI 中,很多的视图控件是对 UIKit( AppKit 目前 SwiftUI 在内部的实现上去 UIKit( AppKit )化很明显,比如,本节介绍的方法在 SwiftUI 4.0 中已经失效方法二:Runloop我第一次接触 Runloop 是在学习 Combine 待 SwiftUI 更多的底层实现不再依赖 UIKit( AppKit )之时,才会是它 API 的爆发期。希望本文能够对你有所帮助。

    5.2K40编辑于 2023-03-08
  • 来自专栏流媒体音视频

    音频知识点(9)- MP3 到底是编码格式还是封装格式?

    enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --enable-appkit enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --enable-appkit enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --enable-appkit

    3.2K30编辑于 2021-12-24
  • 来自专栏肘子的Swift记事本

    在SwiftUI中使用UIKit视图

    在相当长的时间中开发者仍需在SwiftUI中依赖UIKit(AppKit)代码。好在,SwiftUI为开发者提供了便捷的方式将UIKit(AppKit)视图(或控制器)包装成SwiftUI视图。 生命周期 SwiftUI同UIKit和AppKit的主要区别之一是,SwiftUI的视图(View)是值类型,并不是对屏幕上绘制内容的具体引用。 在UIKit(或AppKit)中,视图(或视图控制器)有明确的生命周期节点,比如vidwDidload、loadView、viewWillAppear、didAddSubView、didMoveToSuperview public protocol UIViewRepresentable : View where Self.Body == Never 事实上几乎所有的原始类型都是对UIKit或AppKit的底层包装。 Introspect通过自省的方法来尝试查找原生控件背后包装的UIKit(或AppKit)组件。目前官方尚未在SwiftUI中开放的功能多数可以通过此扩展库提供的方法来解决。

    10.2K22编辑于 2022-07-28
  • 来自专栏macOS 开发学习

    macOS 应用注入开发简介与实践

    下面我们来给HelloLib添加一些增强功能: 首先我们使用这个Aspects库来简化一些运行时代码,最终HelloLib.m文件如下 #import "HelloLib.h" #import <AppKit /AppKit.h> #import "Aspects.h" @implementation HelloLib + (void)load{ NSLog(@"==============HelloLib

    3.9K30发布于 2018-08-23
  • 来自专栏程序员互动联盟

    苹果系统编程必看书籍

    从Objective-C基础知识到新增加的语言特性;从AppKit库到常见的Cocoa设计模式;从Xcode技巧到Instruments等。如果读者刚 接触iOS编程,阅读本书前两章可以快速入门。

    1.2K40发布于 2018-03-14
  • 来自专栏程序员读书笔记

    坐标系统仿射变换函数使用总结

    Mac的AppKit坐标系统是已左下角为坐标原点,向右为X轴正向,向上为Y轴正向。 CoreGraphic坐标系统与AppKit坐标系统一致。

    1.7K50发布于 2019-06-11
领券