{"id":155,"date":"2021-10-02T01:57:38","date_gmt":"2021-10-01T16:57:38","guid":{"rendered":"https:\/\/byeon.is\/?p=155"},"modified":"2021-10-02T01:58:13","modified_gmt":"2021-10-01T16:58:13","slug":"swift-xcode-13-uinavigation-and-uitabbar-appearance-bug","status":"publish","type":"post","link":"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/","title":{"rendered":"[Swift] Xcode 13 UINavigationBar and UITabBar appearance bug"},"content":{"rendered":"\n

Declare private methods<\/p>\n\n\n\n

\/\/ MARK: - Private Methods\n extension AppDelegate {\n   func setupNavigationAppearance() {\n     let appearance = UINavigationBarAppearance()\n     let navigationBar = UINavigationBar()\n     appearance.configureWithOpaqueBackground()\n     appearance.backgroundColor = UIColor.white\n     navigationBar.standardAppearance = appearance\n     UINavigationBar.appearance().scrollEdgeAppearance = appearance\n   }\n   func setupTabBarAppearance() {\n     let appearance = UITabBarAppearance()\n     let tabBar = UITabBar()\n     appearance.configureWithOpaqueBackground()\n     appearance.backgroundColor = .white\n     tabBar.standardAppearance = appearance\n     if #available(iOS 15.0, *) {\n       UITabBar.appearance().scrollEdgeAppearance = appearance\n     }\n   }\n }<\/code><\/pre>\n\n\n\n

Call a private methods in AppDelegate or SceneDelegate<\/p>\n\n\n\n

setupNavigationAppearance()\nsetupTabBarAppearance()<\/code><\/pre>\n\n\n\n

<\/p>\n","protected":false},"excerpt":{"rendered":"

Declare private methods Call a private methods in AppDelegate or SceneDelegate<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"yoast_head":"\n[Swift] Xcode 13 UINavigationBar and UITabBar appearance bug - \ucd08\ub9bc\uc774\uc758 \uc5f0\uad6c\uc2e4<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Swift] Xcode 13 UINavigationBar and UITabBar appearance bug - \ucd08\ub9bc\uc774\uc758 \uc5f0\uad6c\uc2e4\" \/>\n<meta property=\"og:description\" content=\"Declare private methods Call a private methods in AppDelegate or SceneDelegate\" \/>\n<meta property=\"og:url\" content=\"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/\" \/>\n<meta property=\"og:site_name\" content=\"\ucd08\ub9bc\uc774\uc758 \uc5f0\uad6c\uc2e4\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-01T16:57:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-01T16:58:13+00:00\" \/>\n<meta name=\"author\" content=\"\ucd08\ub9bc\uc774\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\ucd08\ub9bc\uc774\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/\"},\"author\":{\"name\":\"\ucd08\ub9bc\uc774\",\"@id\":\"https:\/\/byeon.is\/#\/schema\/person\/fc39470e20971f6e096647e8817ca036\"},\"headline\":\"[Swift] Xcode 13 UINavigationBar and UITabBar appearance bug\",\"datePublished\":\"2021-10-01T16:57:38+00:00\",\"dateModified\":\"2021-10-01T16:58:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/\"},\"wordCount\":18,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/byeon.is\/#\/schema\/person\/fc39470e20971f6e096647e8817ca036\"},\"articleSection\":[\"Swift\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/\",\"url\":\"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/\",\"name\":\"[Swift] Xcode 13 UINavigationBar and UITabBar appearance bug - \ucd08\ub9bc\uc774\uc758 \uc5f0\uad6c\uc2e4\",\"isPartOf\":{\"@id\":\"https:\/\/byeon.is\/#website\"},\"datePublished\":\"2021-10-01T16:57:38+00:00\",\"dateModified\":\"2021-10-01T16:58:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/byeon.is\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Swift] Xcode 13 UINavigationBar and UITabBar appearance bug\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/byeon.is\/#website\",\"url\":\"https:\/\/byeon.is\/\",\"name\":\"\ucd08\ub9bc\uc774\uc758 \uc5f0\uad6c\uc2e4\",\"description\":\"Swift \uac1c\ubc1c \uba54\ubaa8\uc7a5\",\"publisher\":{\"@id\":\"https:\/\/byeon.is\/#\/schema\/person\/fc39470e20971f6e096647e8817ca036\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/byeon.is\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ko-KR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/byeon.is\/#\/schema\/person\/fc39470e20971f6e096647e8817ca036\",\"name\":\"\ucd08\ub9bc\uc774\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/byeon.is\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/byeon.is\/wp-content\/litespeed\/avatar\/cf051b81c9c51e8a825604429397999f.jpg?ver=1715547606\",\"contentUrl\":\"https:\/\/byeon.is\/wp-content\/litespeed\/avatar\/cf051b81c9c51e8a825604429397999f.jpg?ver=1715547606\",\"caption\":\"\ucd08\ub9bc\uc774\"},\"logo\":{\"@id\":\"https:\/\/byeon.is\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/blog.yuki.kr\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Swift] Xcode 13 UINavigationBar and UITabBar appearance bug - \ucd08\ub9bc\uc774\uc758 \uc5f0\uad6c\uc2e4","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/","og_locale":"ko_KR","og_type":"article","og_title":"[Swift] Xcode 13 UINavigationBar and UITabBar appearance bug - \ucd08\ub9bc\uc774\uc758 \uc5f0\uad6c\uc2e4","og_description":"Declare private methods Call a private methods in AppDelegate or SceneDelegate","og_url":"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/","og_site_name":"\ucd08\ub9bc\uc774\uc758 \uc5f0\uad6c\uc2e4","article_published_time":"2021-10-01T16:57:38+00:00","article_modified_time":"2021-10-01T16:58:13+00:00","author":"\ucd08\ub9bc\uc774","twitter_card":"summary_large_image","twitter_misc":{"Written by":"\ucd08\ub9bc\uc774"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/#article","isPartOf":{"@id":"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/"},"author":{"name":"\ucd08\ub9bc\uc774","@id":"https:\/\/byeon.is\/#\/schema\/person\/fc39470e20971f6e096647e8817ca036"},"headline":"[Swift] Xcode 13 UINavigationBar and UITabBar appearance bug","datePublished":"2021-10-01T16:57:38+00:00","dateModified":"2021-10-01T16:58:13+00:00","mainEntityOfPage":{"@id":"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/"},"wordCount":18,"commentCount":0,"publisher":{"@id":"https:\/\/byeon.is\/#\/schema\/person\/fc39470e20971f6e096647e8817ca036"},"articleSection":["Swift"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/","url":"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/","name":"[Swift] Xcode 13 UINavigationBar and UITabBar appearance bug - \ucd08\ub9bc\uc774\uc758 \uc5f0\uad6c\uc2e4","isPartOf":{"@id":"https:\/\/byeon.is\/#website"},"datePublished":"2021-10-01T16:57:38+00:00","dateModified":"2021-10-01T16:58:13+00:00","breadcrumb":{"@id":"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/byeon.is\/swift-xcode-13-uinavigation-and-uitabbar-appearance-bug\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/byeon.is\/"},{"@type":"ListItem","position":2,"name":"[Swift] Xcode 13 UINavigationBar and UITabBar appearance bug"}]},{"@type":"WebSite","@id":"https:\/\/byeon.is\/#website","url":"https:\/\/byeon.is\/","name":"\ucd08\ub9bc\uc774\uc758 \uc5f0\uad6c\uc2e4","description":"Swift \uac1c\ubc1c \uba54\ubaa8\uc7a5","publisher":{"@id":"https:\/\/byeon.is\/#\/schema\/person\/fc39470e20971f6e096647e8817ca036"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/byeon.is\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ko-KR"},{"@type":["Person","Organization"],"@id":"https:\/\/byeon.is\/#\/schema\/person\/fc39470e20971f6e096647e8817ca036","name":"\ucd08\ub9bc\uc774","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/byeon.is\/#\/schema\/person\/image\/","url":"https:\/\/byeon.is\/wp-content\/litespeed\/avatar\/cf051b81c9c51e8a825604429397999f.jpg?ver=1715547606","contentUrl":"https:\/\/byeon.is\/wp-content\/litespeed\/avatar\/cf051b81c9c51e8a825604429397999f.jpg?ver=1715547606","caption":"\ucd08\ub9bc\uc774"},"logo":{"@id":"https:\/\/byeon.is\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/blog.yuki.kr"]}]}},"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":166,"url":"https:\/\/byeon.is\/swift-%eb%84%a4%ec%9d%b4%eb%b2%84-%ec%98%81%ed%99%94-%ea%b2%80%ec%83%89-%ec%95%b1-ribs-tuist%eb%a1%9c-%eb%a7%8c%eb%93%a4%ec%96%b4%eb%b3%b4%ea%b8%b0-1\/","url_meta":{"origin":155,"position":0},"title":"[Swift] \ub124\uc774\ubc84 \uc601\ud654 \uac80\uc0c9 \uc571 RIBs + Tuist\ub85c \ub9cc\ub4e4\uc5b4\ubcf4\uae30 – 1","author":"\ucd08\ub9bc\uc774","date":"2021\ub144 12\uc6d4 4\uc77c","format":false,"excerpt":"\ud68c\uc0ac\uc5d0\uc11c \uac10\uc0ac\ud558\uac8c\ub3c4 RIBs + Tuist\ub85c \uac1c\ubc1c\ud560 \uc218 \uc788\ub294 \uae30\ud68c\uac00 \uc8fc\uc5b4\uc84c\ub294\ub370(\uc548\ud574\uc904 \uac83 \uac19\uc558\ub294\ub370..), \uc544\ubb34\ub798\ub3c4 \ucc98\uc74c \uc2dc\ub3c4 \ud574\ubcf4\ub294 \uac83\ub4e4\uc774\ub2e4\ubcf4\ub2c8 \uae30\ucd08 \uc9c0\uc2dd\uc774 \ubd80\uc871\ud574\uc11c \uc0d8\ud50c \uc571\uc744 \uba87\uac1c \ub354 \ub9cc\ub4e4\uc5b4\ubd10\uc57c\ud560 \uac83 \uac19\uc544 \uae30\ub85d\uc6a9\uc73c\ub85c \ub0a8\uae34\ub2e4. \uc77c\ub2e8 \uac00\uc7a5 \uba3c\uc800 tuist\ub85c \ud504\ub85c\uc81d\ud2b8\ub97c \uad6c\uc131\ud55c\ub2e4. \u276f tuist init --platform ios \uc544\ub798\uc640 \uac19\uc740 \uad6c\uc870\ub97c \uac16\uac8c \ub41c\ub2e4. \u276f tree . . \u251c\u2500\u2500\u2026","rel":"","context":""Swift"\uc5d0\uc11c","block_context":{"text":"Swift","link":"https:\/\/byeon.is\/category\/swift\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":125,"url":"https:\/\/byeon.is\/swift-ribs-%eb%a7%9b%eb%b3%b4%ea%b8%b0\/","url_meta":{"origin":155,"position":1},"title":"[Swift] RIBs \ub9db\ubcf4\uae30","author":"\ucd08\ub9bc\uc774","date":"2021\ub144 5\uc6d4 10\uc77c","format":false,"excerpt":"\uc694\uc998 RIBs \uc544\ud0a4\ud14d\uccd0(\ud504\ub808\uc784\uc6cc\ud06c?) \uac00 \ub9ce\uc774 \ud2b8\ub80c\ub4dc\uc778\uac70 \uac19\uc544\uc11c \ud55c\ubc88 \ub9db\ubcf4\uae30(\ucc0d\uba39)\uc6a9\uc73c\ub85c \uc0d8\ud50c \ud504\ub85c\uc81d\ud2b8\ub97c \ub9cc\ub4e4\uc5b4\ubd24\ub2e4. \ubb34\ub824 \ub124\uc774\ubc84 \ub274\uc2a4 \ud30c\uc2f1\ud574\uc624\ub294 \uc571... \ub124\uc774\ubc84 \ub274\uc2a4 API\uac00 \uc788\ub294\uc9c0 \uc798 \ubab0\ub77c\uc11c SwiftSoup\ub97c \ud1b5\ud574 \ud30c\uc2f1\ud574\uc624\uae30\ub85c \ud588\ub2e4. \uc77c\ub2e8 RIBs\ub294 \ub2e4\ub978 \uc544\ud0a4\ud14d\uccd0(MVC, MVP, MVVM, VIPER, VIP)\uc640\ub294 \ub2e4\ub974\uac8c \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc124\uce58\ud574\uc57c\ud55c\ub2e4. \ud544\uc790\ub294 CocoaPods\uc73c\ub85c \uc124\uce58\ud568. \uc774\ubc88\uc5d0 \ub9cc\ub4e4\uc571\uc740 (\uac00\uc9dc)\u00a0\uc2a4\ud50c\ub798\uc2dc \ucee8\ud2b8\ub864\ub7ec -> \uba54\uc778 \ucee8\ud2b8\ub864\ub7ec \uc21c\uc73c\ub85c \uc774\ub3d9\ub418\uac8c\u2026","rel":"","context":""Swift"\uc5d0\uc11c","block_context":{"text":"Swift","link":"https:\/\/byeon.is\/category\/swift\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2021\/05\/image.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2021\/05\/image.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2021\/05\/image.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2021\/05\/image.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2021\/05\/image.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":199,"url":"https:\/\/byeon.is\/swift-concurrency-async-await-with-alamofire\/","url_meta":{"origin":155,"position":2},"title":"[Swift] Alamofire async \/ await \uc0ac\uc6a9\ud574\ubcf4\uae30","author":"\ucd08\ub9bc\uc774","date":"2022\ub144 2\uc6d4 24\uc77c","format":false,"excerpt":"Alamofire 5.5[#] \ubc84\uc804\ubd80\ud130 Concurrency\ub97c \uc9c0\uc6d0\ud55c\ub2e4. \uacf5\uc2dd \ubb38\uc11c\uc758 \uc124\uba85\uc744 \ubcf4\uba74 \uc544\ub798\uc640 \uac19\uc774 \uc801\ud600\uc788\ub2e4. Alamofire's concurrency support requires Swift 5.5.2 or Xcode 13.2. These examples also include the use of static protocol values added in Alamofire 5.5 for Swift 5.5. \uc4f0\uae30 \uc704\ud574\uc11c\ub294 Xcode 13.2\ub85c \uc5c5\ub370\uc774\ud2b8\ubd80\ud130 \ud574\uc8fc\uc790! \ud504\ub85c\uc81d\ud2b8\uc758 \ucd5c\uc18c iOS \ubc84\uc804\uc744 13\uc73c\ub85c \ub9de\ucdb0\uc900\ub2e4.\u2026","rel":"","context":""Swift"\uc5d0\uc11c","block_context":{"text":"Swift","link":"https:\/\/byeon.is\/category\/swift\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2022\/02\/image-6.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2022\/02\/image-6.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2022\/02\/image-6.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2022\/02\/image-6.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2022\/02\/image-6.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":91,"url":"https:\/\/byeon.is\/swift-ascollectionnode-uipagecontrol-rx-binding\/","url_meta":{"origin":155,"position":3},"title":"[Swift] ASCollectionNode, UIPageControl\ub97c Rx\ub85c \uae54\ub054\ud558\uac8c \ud398\uc774\uc9c0 \ucc98\ub9ac\ud558\uae30","author":"\ucd08\ub9bc\uc774","date":"2020\ub144 11\uc6d4 4\uc77c","format":false,"excerpt":"Texture\uc5d0\uc11c\ub294 \ud398\uc774\uc9d5 \ucc98\ub9ac\ub97c \uc704\ud574 ASPagerNode\uac00 \uad6c\ud604\ub418\uc5b4\uc788\ub2e4. \uadfc\ub370 \ub098\ub294 \uac1c\uc778\uc801\uc73c\ub85c ASCollectionNode \ub85c \ub300\ubd80\ubd84\uc758 UI\ub97c \uad6c\ud604\ud558\ub294 \ud3b8\uc774\ub2e4. \uc774\ubc88\uc5d0\ub3c4 \uad6c\ud604\ud560\ub824\uace0 \ud588\ub294\ub370 UIPageControl \uc640 \ud568\uaed8 Rx\ub85c \uc791\uc131\ud55c \ucf54\ub4dc\ub97c \uacf5\uc720\ud558\uace0\uc790 \ud55c\ub2e4. \uc77c\ub2e8 \uc815\ub9d0 \uac04\ub2e8\ud55c \ud615\ud0dc\uc758 UI \ucf54\ub4dc\ub97c \uc791\uc131\ud558\uc600\ub2e4. import AsyncDisplayKit class ViewController: ASDKViewController<ASDisplayNode> { fileprivate enum Const { static let itemSize: CGSize = .init(width: UIScreen.main.bounds.width,\u2026","rel":"","context":""Swift"\uc5d0\uc11c","block_context":{"text":"Swift","link":"https:\/\/byeon.is\/category\/swift\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":435,"url":"https:\/\/byeon.is\/swiftui-uinavigationbar-hidden-shadow\/","url_meta":{"origin":155,"position":4},"title":"[SwiftUI] UINavigationBar hidden shadow","author":"\ucd08\ub9bc\uc774","date":"2023\ub144 10\uc6d4 10\uc77c","format":false,"excerpt":"SwiftUI\ub85c \ud504\ub85c\uc81d\ud2b8\ub97c \uad6c\uc131\ud558\ub294 \ub3c4\uc911 UINavigationBar\uc758 shadow \uc601\uc5ed\uc744 \uc5c6\uc560\uace0 \uc2f6\uc5c8\ub2e4. \ub9e8 \uc544\ub798\uc5d0 \uc788\ub294 \uc544\uc8fc \uc870\uadf8\ub9cc \ubd80\ubd84\uc778\ub370.. iOS 15\uae4c\uc9c0\ub294 UINavigationBar\uc758 shared appearance\ub97c \uc124\uc815\ud558\uc5ec \uc804\uc5ed\uc73c\ub85c \ubc18\uc601\ud558\ub294 \ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud588\ub358\uac83 \uac19\uc740\ub370 iOS 16\ubd80\ud130 \ubb54 \uc9d3\uc744\ud574\ub3c4 \uc5c6\uc568\uc218\uac00 \uc5c6\ub294 \uac83 \uac19\ub2e4.. \uacb0\uad6d SwiftUI-Introspect \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc544\ub798\uc640 \uac19\uc774 \ud574\uacb0\ud588\ub2e4. var body: some View { NavigationStack {} .introspect(.navigationStack, on:\u2026","rel":"","context":""Swift"\uc5d0\uc11c","block_context":{"text":"Swift","link":"https:\/\/byeon.is\/category\/swift\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2023\/10\/image.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2023\/10\/image.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2023\/10\/image.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":504,"url":"https:\/\/byeon.is\/swift-rxswift%ec%9d%98-throttle%ea%b3%bc-combine%ec%9d%98-throttle%ec%9d%80-%eb%8b%a4%eb%a5%b4%eb%8b%a4%eb%b6%80%ec%a0%9c-%eb%b2%84%ed%8a%bc-%ec%a4%91%eb%b3%b5-%ed%81%b4%eb%a6%ad-%ed%95%b4\/","url_meta":{"origin":155,"position":5},"title":"[Swift] RxSwift\uc758 Throttle\uacfc Combine\uc758 Throttle\uc740 \ub2e4\ub974\ub2e4(\ubd80\uc81c: \ubc84\ud2bc \uc911\ubcf5 \ud074\ub9ad \ud574\uacb0)","author":"\ucd08\ub9bc\uc774","date":"2024\ub144 1\uc6d4 9\uc77c","format":false,"excerpt":"\uc11c\ub860 \uc720\uc800\uac00 \ubc84\ud2bc\uc744 \ud130\uce58\ud560 \ub54c \uc911\ubcf5\uc73c\ub85c \ud130\uce58\ud558\ub294 \uacbd\uc6b0(\uc77c\uba85 \ub530\ub2e5..)\uac00 \uc0dd\uaca8 RxSwift\uc758 throttle operator\ub97c \uc0ac\uc6a9\ud574\uc11c \uc9e7\uc740 \uc2dc\uac04(\uc8fc\ub85c 0.3~0.5\ucd08) \ub0b4\uc5d0 \ud130\uce58\uac00 \uc5f0\uc18d\uc801\uc73c\ub85c \ub4e4\uc5b4\uc624\uba74 \uccab\ubc88\uc9f8 \ud130\uce58 \uc774\uc678\uc5d0\ub294 \uc785\ub825\uc744 \ubb34\uc2dc\ud588\uc2b5\ub2c8\ub2e4. \uadf8\ub7f0\ub370 \ucd5c\uadfc\uc5d0 RxSwift\uc5d0\uc11c Combine\ub97c \uc62e\uae30\ub294 \uc791\uc5c5\uc744 \ud558\ub294 \ub3c4\uc911 Combine\uc5d0\ub3c4 \ube44\uc2b7\ud55c \uc778\ud130\ud398\uc774\uc2a4\ub97c \uac16\uace0 \uc788\ub294 throttle operator\ub97c \ud655\uc778\ud558\uace0 \uc801\uc6a9\ud588\uc2b5\ub2c8\ub2e4. \uc801\uc6a9\ud574\ubcf4\uace0 \ud655\uc778\ud574\ubcf4\ub2c8 \uc81c\uac00 \uc6d0\ud558\ub294 \ub3d9\uc791\uacfc\ub294 \ub2ec\ub790\uc2b5\ub2c8\ub2e4. \ud639\uc2dc\ub098\u2026","rel":"","context":""Swift"\uc5d0\uc11c","block_context":{"text":"Swift","link":"https:\/\/byeon.is\/category\/swift\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2024\/01\/image-19.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2024\/01\/image-19.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2024\/01\/image-19.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2024\/01\/image-19.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/byeon.is\/wp-content\/uploads\/2024\/01\/image-19.png?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/byeon.is\/wp-json\/wp\/v2\/posts\/155"}],"collection":[{"href":"https:\/\/byeon.is\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byeon.is\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byeon.is\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/byeon.is\/wp-json\/wp\/v2\/comments?post=155"}],"version-history":[{"count":2,"href":"https:\/\/byeon.is\/wp-json\/wp\/v2\/posts\/155\/revisions"}],"predecessor-version":[{"id":157,"href":"https:\/\/byeon.is\/wp-json\/wp\/v2\/posts\/155\/revisions\/157"}],"wp:attachment":[{"href":"https:\/\/byeon.is\/wp-json\/wp\/v2\/media?parent=155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byeon.is\/wp-json\/wp\/v2\/categories?post=155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byeon.is\/wp-json\/wp\/v2\/tags?post=155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}