-
What’s new in AppKit
Discover the latest advances in Mac app development. We'll share improvements to controls and menus and explore the tools that can help you break free from your (view) bounds. Learn how to add motion to your user interface, take advantage of improvements to text input, and integrate your existing code with Swift and SwiftUI.
Chapitres
- 1:00 - Controls
- 5:31 - Menus
- 9:19 - Cooperative app activation
- 11:16 - Graphics
- 18:04 - Graphics: Images
- 20:54 - Text improvements
- 23:43 - Swift and SwiftUI
Ressources
Vidéos connexes
WWDC23
-
Rechercher dans cette vidéo…
-
-
1:36 - Configure NSTableView column customization menu
func tableView(_ tableView: NSTableView, userCanChangeVisibilityOf column: NSTableColumn) -> Bool { return column.identifier != "Name" } -
1:53 - Configuring NSProgressIndicator to sync with Progress
func fetchData() { let url = URL(string: "https://developer.apple.com/wwdc23/")! let task = URLSession.shared.dataTask(with: .init(url: url)) progressIndicator.observedProgress = task.progress task.resume() } -
3:48 - Adding an inspector to your app
let inspectorItem = NSSplitViewItem(inspectorWithViewController: inspectorViewController) splitViewController.addSplitViewItem(inspectorItem) func toolbarDefaultItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier] { [.toggleSidebar, .sidebarTrackingSeparator, .flexibleSpace, .addPlant, .inspectorTrackingSeparator, .flexibleSpace, .toggleInspector] } -
4:38 - Show a NSPopover relative to a NSToolbarItem
func toolbarAction(_ toolbarItem: NSToolbarItem) { let popover = NSPopover() popover.contentViewController = PopoverViewController() popover.show(relativeTo: toolbarItem) } -
18:30 - Adding symbol effects to a image view
wifiImageView.image = NSImage(systemSymbolName: "wifi", accessibilityDescription: "wifi icon") wifiImageView.addSymbolEffect(.variableColor.iterative, options: .repeating) -
24:56 - Using @ViewLoading to remove optionality on properties
class ViewController: NSViewController { @ViewLoading var datePicker: NSDatePicker var date = Date() { didSet { datePicker.dateValue = date } } override func loadView() { super.loadView() datePicker = NSDatePicker() datePicker.dateValue = date view.addSubview(datePicker) } } -
25:26 - Preview NSView and NSViewController using the Preview macro
#Preview("Tree Species") { let treeCellView = TreeCellView() treeCellView.species = .spruce return treeCellView }
-