<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>UIViewController on Kelly Dev</title><link>https://kelly-chui.github.io/tags/uiviewcontroller/</link><description>Recent content in UIViewController on Kelly Dev</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 21 Aug 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://kelly-chui.github.io/tags/uiviewcontroller/index.xml" rel="self" type="application/rss+xml"/><item><title>UIKit. 화면 전환 방식</title><link>https://kelly-chui.github.io/posts/ios-uikit-screen-transitions/</link><pubDate>Wed, 21 Aug 2024 00:00:00 +0000</pubDate><guid>https://kelly-chui.github.io/posts/ios-uikit-screen-transitions/</guid><description>&lt;p&gt;UIKit에서는 화면을 전환하는 방법이 여러 가지 있지만, 실제로는 상황에 따라 적절한 방식을 선택하면 된다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;화면을 계층적으로 이동한다 → &lt;strong&gt;Show&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Split View의 Detail 화면을 변경한다 → &lt;strong&gt;Show Detail&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;현재 화면 위에 독립적인 화면을 띄운다 → &lt;strong&gt;Present Modally&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;큰 화면에서는 팝오버, 작은 화면에서는 모달로 표시한다 → &lt;strong&gt;Present as Popover&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;이번 글에서는 각각의 방식이 어떤 상황에서 사용되는지 간단히 정리해 보려고 한다.&lt;/p&gt;
&lt;h2 id="화면-전환-방식"&gt;화면 전환 방식&lt;/h2&gt;
&lt;h3 id="show"&gt;Show&lt;/h3&gt;
&lt;div class="code-theme-github"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-swift" data-lang="swift"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;show&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;_&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;sender&lt;/span&gt;&lt;span class="p"&gt;:)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;내비게이션 컨트롤러를 사용하는 경우 새로운 뷰 컨트롤러를 &lt;strong&gt;Push&lt;/strong&gt;하여 화면을 전환한다. 사용자가 계층 구조를 따라 이동하는 대부분의 화면 전환이 여기에 해당한다.&lt;/p&gt;</description></item><item><title>UIView와 UIViewController의 차이 + 뷰 생명주기 메소드</title><link>https://kelly-chui.github.io/posts/ios-uikit-uiview-vs-uiviewcontroller-lifecycle/</link><pubDate>Tue, 20 Aug 2024 00:00:00 +0000</pubDate><guid>https://kelly-chui.github.io/posts/ios-uikit-uiview-vs-uiviewcontroller-lifecycle/</guid><description>&lt;h2 id="공식문서-먼저"&gt;공식문서 먼저&lt;/h2&gt;
&lt;h3 id="uiview"&gt;UIView&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;An object that manages the content for a rectangular area on the screen.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;화면의 사각형 영역을 나타내며, 내부에 다른 뷰를 포함할 수 있다. 대부분의 UI 요소가 UIView를 상속받는다.&lt;/li&gt;
&lt;li&gt;콘텐츠를 화면에 나타내고, 사용자의 터치나 제스처를 감지한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="uiviewcontroller"&gt;UIViewController&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;An object that manages a view hierarchy for your UIKit app.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;하나 이상의 뷰를 관리하고, 이 뷰들이 사용자와 상호작용하는 방법을 제어한다.&lt;/li&gt;
&lt;li&gt;뷰를 생성하고, 화면에 표시하며, 뷰의 생명 주기를 관리한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="두-줄-요약"&gt;두 줄 요약&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;UIView는 화면의 직사각형 영역에 표시되는 콘텐츠를 관리하고, 사용자의 동작을 감지하는 역할을 한다.&lt;/li&gt;
&lt;li&gt;UIViewController는 이 UIView를 관리하는 역할을 한다. (사용자의 동작을 감지하면 이 뷰가 어떻게 상호 작용을 해야 할지, UIView 라이프 사이클 관리 등…)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="뷰-라이프-사이클--뷰-컨트롤러-관련-메소드"&gt;뷰 라이프 사이클 + 뷰 컨트롤러 관련 메소드&lt;/h2&gt;
&lt;img loading="lazy" src="https://kelly-chui.github.io/posts/ios-uikit-uiview-vs-uiviewcontroller-lifecycle/image-001-optimized-image.webp"&gt;&lt;p&gt;순서대로 작성하면&lt;/p&gt;</description></item></channel></rss>