{"id":802,"date":"2020-11-07T23:23:48","date_gmt":"2020-11-07T14:23:48","guid":{"rendered":"https:\/\/blog.enyou.net\/ko\/?p=802"},"modified":"2020-11-07T23:29:27","modified_gmt":"2020-11-07T14:29:27","slug":"swiftui-view-paging","status":"publish","type":"post","link":"https:\/\/blog.enyou.net\/ko\/archives\/802","title":{"rendered":"SwiftUI View Paging"},"content":{"rendered":"\n<p>iOS 14 \uc774\uc0c1 \uc2a4\uc704\ud504\ud2b8UI\uc758 \uc2e0\uae30\ub2a5\uc73c\ub85c TabView\ub97c \uc774\uc6a9\ud574\uc11c \ud398\uc774\uc9d5\uc744 \ud560 \uc218 \uc788\ub294 \uae30\ub2a5\uc774 \ucd94\uac00\ub418\uc5c8\ub2e4. \uc544\ub798 \ub3d9\uc601\uc0c1\ucc98\ub7fc UICollectionView\uc758 isPagingEnabled\uc758 \ub300\uccb4 \uae30\ub2a5\uc774\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-rich is-provider-embed-handler wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/youtu.be\/R-to2UmrSlo\n<\/div><\/figure>\n\n\n\n<p>ScrollView\ub97c horizontal\ub85c \uc124\uc815\ud558\uace0, TabView\ub97c \ub9cc\ub4e0 \ud6c4\uc5d0 \uc548\uc5d0\uc11c View\ub4e4\uc744 \uc0dd\uc131\ud55c\ub2e4. \uc774\ub54c, \ubaa8\ub514\ud30c\uc774\uc5b4\ub97c \uc774\uc6a9\ud574\uc11c tabViewStyle\uc744 PageTabViewStyle()\ub85c \ud574\uc8fc\uba74 \uac04\ub2e8\ud558\uac8c \ub9cc\ub4e4 \uc218 \uc788\ub2e4. (&#8230;\uadfc\ub370 \uc65c \uc774\uac8c TabView\ub85c \uae30\ub2a5\uc774 \ub4e4\uc5b4\uac04\uac78\uae4c?&#8230; \uc774\ub984\uc744 \ubcf4\uba74 \ub9e4\uce6d\uc774 \ub418\uae34\ud558\ub294\ub370&#8230; \ubb54\uac00 \ud760&#8230;)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ScrollView(.horizontal) {\n    TabView {\n        ForEach( ) {\n           \u00a0 ...\n        }\n    .tabViewStyle(PageTabViewStyle())\n    }\n}<\/code><\/pre>\n\n\n\n<p>\ubc84\uadf8?:<\/p>\n\n\n\n<p>TabView\uc548\uc758 Foreach \ubb38\uc744 \uc774\uc6a9\ud574\uc11c \ubdf0\ub97c \ub9cc\ub4e4 \ub54c, \ubcc0\uc218\ub098 \ubdf0 \ubaa8\ub378\uc744 \uc774\uc6a9\ud574\uc11c \ub9cc\ub4e4\uace0 \ud2b9\uc815 \uc2dc\uc810\uc5d0 \uc5c5\ub370\uc774\ud2b8 \ud574\uc8fc\uace0 \uc2f6\uc744 \uc218 \uc788\ub2e4. \uadf8\ub7f0\ub370, \ub098\uc758 \uacbd\uc6b0\uc5d0\ub294 \ud558\ub2e8\uc758 \uc778\ub514\ucf00\uc774\ud130 \uc218\ub9cc \ubcc0\ud558\uace0, \uc2e4\uc81c \ubdf0\ub4e4\uc740 \uc5c5\ub370\uc774\ud2b8\uac00 \ub418\uc9c0 \uc54a\ub294 \uc99d\uc0c1\uc744 \uacaa\uc5c8\ub2e4. (StackView\ub4e4\uc758 \uacbd\uc6b0\uc5d0\ub294 \ub2e4\uc774\ub098\ubbf9\ud558\uac8c \uc798 \ubcc0\ud588\uc74c.)<\/p>\n\n\n\n<p>\uae54\ub054\ud558\uc9c0\ub294 \uc54a\uaca0\uc9c0\ub9cc, viewModel \ub0b4\ubd80\uc5d0 \ubcc0\uc218\ub97c \ud558\ub098 \uc120\uc5b8\ud558\uace0, viewModel\uc774 \uc5c5\ub370\uc774\ud2b8 \ub420 \ub54c\ub9c8\ub2e4 \uac12\uc744 \ubcc0\ud654\uc2dc\ucf1c \uc8fc\uc790. \uadf8\ub9ac\uace0 \uc2e4\uc81c TabView\ub294 \uadf8 \ubcc0\uc218\uc5d0 \uc758\ud574 \ub098\ud0c0\ub098\uace0 \uc0ac\ub77c\uc9c0\ub3c4\ub85d if\ubb38\uc73c\ub85c \uac10\uc2f8\uc8fc\uba74, \uac15\uc81c\ub85c \uac31\uc2e0\uc2dc\ud0ac \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ScrollView(.horizontal) {\n        if viewModel.isShown {\n            TabView {\n                ForEach( ) {\n                     ...\n                }\n            .tabViewStyle(PageTabViewStyle())\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p> \ubc84\uadf8\uc778 \uc904\ub3c4 \ubaa8\ub974\uace0 \uc65c \uc548 \ub418\uc9c0 \ud558\ub2e4\uac00, \uc774\uac70 \ub54c\ubb38\uc5d0 \uba87 \uc2dc\uac04 \ubc84\ub9ac\uace0 \ub208\ubb3c \ub05d\uc5d0 \ud3ec\uc2a4\ud305\uc744 \uc4f4\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>iOS 14 \uc774\uc0c1 \uc2a4\uc704\ud504\ud2b8UI\uc758 \uc2e0\uae30\ub2a5\uc73c\ub85c TabView\ub97c \uc774\uc6a9\ud574\uc11c \ud398\uc774\uc9d5\uc744 \ud560 \uc218 \uc788\ub294 \uae30\ub2a5\uc774 \ucd94\uac00\ub418\uc5c8\ub2e4. \uc544\ub798 \ub3d9\uc601\uc0c1\ucc98\ub7fc UICollectionView\uc758 isPagingEnabled\uc758 \ub300\uccb4 \uae30\ub2a5\uc774\ub2e4. ScrollView\ub97c horizontal\ub85c \uc124\uc815\ud558\uace0, TabView\ub97c \ub9cc\ub4e0 \ud6c4\uc5d0 \uc548\uc5d0\uc11c View\ub4e4\uc744 \uc0dd\uc131\ud55c\ub2e4. \uc774\ub54c, \ubaa8\ub514\ud30c\uc774\uc5b4\ub97c \uc774\uc6a9\ud574\uc11c tabViewStyle\uc744 PageTabViewStyle()\ub85c \ud574\uc8fc\uba74 \uac04\ub2e8\ud558\uac8c \ub9cc\ub4e4 \uc218 \uc788\ub2e4. (&#8230;\uadfc\ub370 \uc65c \uc774\uac8c TabView\ub85c \uae30\ub2a5\uc774 \ub4e4\uc5b4\uac04\uac78\uae4c?&#8230; \uc774\ub984\uc744 \ubcf4\uba74 \ub9e4\uce6d\uc774 \ub418\uae34\ud558\ub294\ub370&#8230; \ubb54\uac00 \ud760&#8230;) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-802","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/posts\/802"}],"collection":[{"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/comments?post=802"}],"version-history":[{"count":6,"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/posts\/802\/revisions"}],"predecessor-version":[{"id":808,"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/posts\/802\/revisions\/808"}],"wp:attachment":[{"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/media?parent=802"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/categories?post=802"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.enyou.net\/ko\/wp-json\/wp\/v2\/tags?post=802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}