{
    "componentChunkName": "component---src-templates-tag-js",
    "path": "/tags/ux/",
    "result": {"data":{"articles":{"nodes":[{"frontmatter":{"title":"Adding navigation buttons to the keyboard in SwiftUI","subtitle":"Learn how to add navigation buttons above the keyboard to switch between text fields in SwiftUI.","date":"08 Jun 2025","tags":["swiftui","ux","ios"],"readingTime":4},"slug":"swiftui-keyboard-buttons","id":"45a83c49-a249-58dd-8459-ebb991436a67"},{"frontmatter":{"title":"How to support dark mode in SwiftUI programmatically","subtitle":"Learn how to improve type safety when working with semantic colors.","date":"18 Mar 2024","tags":["ux","swiftui","swift","xcode","ios"],"readingTime":4},"slug":"ios-supporting-dark-mode-programmatically","id":"a05e49ca-02d1-57ff-a166-58947b4c1623"},{"frontmatter":{"title":"How to use TipKit to create tool tips in SwiftUI","subtitle":"Learn how to show feature hints as a popover to the user by using TipKit.","date":"04 Mar 2024","tags":["ux","swift","ios"],"readingTime":5},"slug":"20240304-tipkit-feature-hints","id":"f197381a-ce22-53ae-8bac-902123f712dd"}]},"tags":{"group":[{"fieldValue":"accessibility","totalCount":6},{"fieldValue":"activitykit","totalCount":1},{"fieldValue":"ai","totalCount":1},{"fieldValue":"animations","totalCount":2},{"fieldValue":"app distribution","totalCount":1},{"fieldValue":"architecture","totalCount":10},{"fieldValue":"associated domains","totalCount":5},{"fieldValue":"async/await","totalCount":18},{"fieldValue":"authentication","totalCount":2},{"fieldValue":"automation","totalCount":3},{"fieldValue":"basics","totalCount":6},{"fieldValue":"beyond ios","totalCount":4},{"fieldValue":"book","totalCount":2},{"fieldValue":"combine","totalCount":9},{"fieldValue":"command line","totalCount":1},{"fieldValue":"concurrency","totalCount":16},{"fieldValue":"continuous integration","totalCount":6},{"fieldValue":"core data","totalCount":8},{"fieldValue":"cryptokit","totalCount":3},{"fieldValue":"dependency management","totalCount":2},{"fieldValue":"design patterns","totalCount":4},{"fieldValue":"file system","totalCount":1},{"fieldValue":"generics and protocols","totalCount":3},{"fieldValue":"graphql","totalCount":2},{"fieldValue":"ios","totalCount":157},{"fieldValue":"json","totalCount":3},{"fieldValue":"lldb","totalCount":2},{"fieldValue":"localization","totalCount":5},{"fieldValue":"machine learning","totalCount":7},{"fieldValue":"navigation","totalCount":6},{"fieldValue":"networking","totalCount":11},{"fieldValue":"notifications","totalCount":7},{"fieldValue":"objective-c","totalCount":2},{"fieldValue":"observation","totalCount":2},{"fieldValue":"performance","totalCount":1},{"fieldValue":"persistence","totalCount":12},{"fieldValue":"productivity","totalCount":2},{"fieldValue":"property wrappers","totalCount":12},{"fieldValue":"quick tip","totalCount":3},{"fieldValue":"reactive programming","totalCount":7},{"fieldValue":"scripting","totalCount":1},{"fieldValue":"security","totalCount":10},{"fieldValue":"spritekit","totalCount":1},{"fieldValue":"storekit","totalCount":5},{"fieldValue":"swift","totalCount":143},{"fieldValue":"swift package manager","totalCount":5},{"fieldValue":"swiftdata","totalCount":7},{"fieldValue":"swiftui","totalCount":72},{"fieldValue":"technical interview","totalCount":1},{"fieldValue":"testing","totalCount":10},{"fieldValue":"tools","totalCount":4},{"fieldValue":"uikit","totalCount":5},{"fieldValue":"universal links","totalCount":1},{"fieldValue":"ux","totalCount":3},{"fieldValue":"webkit","totalCount":2},{"fieldValue":"widgetkit","totalCount":3},{"fieldValue":"wwdc","totalCount":2},{"fieldValue":"xcode","totalCount":20}]}},"pageContext":{"tag":"ux"}},
    "staticQueryHashes": ["1248279061","1495782094","3016322440","3770566618","3897982121"]}