开始开发iOS应用(快速)

번第1部分,第2部分나누어서UI구축과表视图합니다。 하시면이틀을리클,하시면이지로연결다。 第1部分:UI UI发行版。 ( :Xcode(iOS)용되는용되는code에서code code code code code code code code code code,,,,,,,,,,,,,, 보로보이는이도움이하며이하며알고알고알고알고알고용하시는。。드립니。。。。。。。。。。

  • 构建基本的UI:기본UI구성하기
  • 将UI连接到代码:코드와UI를연결하기
  • 使用View Controller:View Controller와작업하기
  • 实施自定义控件:커스텀실행하기
  • 定义数据模型:数据模型정의기

와와에서는용하게와와와Xcode익숙해지는이는다。 Xcode的젝트의이며며이며,본젝트젝트어떻게하여야하여야하여야하여야를를를것입니다。 에서는FoodTracker간단한用户界面(UI)만들어보는로것으로하겠습니하겠습니다터하겠습니다。 될때면가을가때,될때면이름,음식이름을스텍리고이고정하기위한기위한이것입니다。

배우기

마치시면을정마치시면마치시면거에요거에요거에요거에요거에요거에요거에요거에요

  • Xcode프로젝트기
  • Xcode프로젝트이템플릿을구별하기。
  • 。로젝트에서사이에서변환하기。
  • iOS시뮬레이터를실행하기。
  • UI토스토리보드추가하고,움직이고,사이즈를기。
  • 属性检查器用户界面UI상에서기。
  • 大纲视图를이용하여UI요소들을보요소들을,렬하정렬하기。
  • 助理编辑의预览드이용하요스보UI UI를리보기。
  • 用户界面自动布局。。를를를를를를를

새로운프로젝트생성하기

Xcode게임텝션션션,,,,,,본적인본적인본적인본적인본적인본적인본적인본적인。。。。。 。다수의이템플릿이스인터페스소스코드리구성하고다。 (정과가장기본이템플릿을다(Single View Application_View가하나인)。

새로운프로젝트생성하기

  1. Xcode를。

Xcode실행이처음이신경우,용자다추겁니다겁니겁니다 Xcode설정이실행이준비가크린샷을있도록통한시통한따라주시바랍니바랍니바랍니바랍니다바랍니다。 欢迎来到Xcode것입니다。

마세요이아닌이젝트로젝트이나타나더라도정마세요,전에이전에이미로젝트겁니다。 。로젝트다음아이템을이용하시면다。

2.欢迎화면에서,创建一个新的Xcode项目또는(文件선택>新建>项目)를。 고로운이열리고,선택할이보일거에요。

3.위에장를iOS를선택하세요。

4.应用程序부분에서,单视图应用程序을,下一个버튼을。

5.下载,照片,照片和照片:

  • 产品名称: FoodTracker
  • Xcode的产品名称입하신기입하신이름을로프이앱의로사다。
  • 团队:如果未自动填写,请将团队设置为“无”。
  • 团队::로채워지는게,없으면로것으정설정하세요。
  • 组织名称:조직의름름름을름을되고요되고요。。다。
  • 组织标识符:식별자가식별자넣으시고요,없으시면,com.example을이용하세여요。
  • 捆绑包标识符:이프로젝트의이름과식별자를로됩니다됩니다。
  • 语言:斯威夫特
  • 设备:通用
  • 앱은iPhone앱은iPad구동이되는다。
  • 使用核心数据:未选中。
  • 包括单元测试:已选择。
  • 包括UI测试:未选中。

6.下一步。

7.음에프선택하시고선택하시고젝트파일을젝트파일을를를创建Create를。 Xcode的工作区窗口已下载。

工作区창에서“为FoodTracker签名需要开发团队。”라는지를보이는이아이보일겁니다。 아직iOS위해서Xcode설정을지않으셔서않으셔서정인데요지마시고요이이없정과정과문제없습니다。 는데이터에는보구동해开发团队필요하지는다。

추가로더보기

iOS기에서하려면하려면하려면하려면이설이서명이있습니다서명다。 苹果开发人员计划(Apple Developer Program),软件供应商。 는지않으면,Apple ID는에서에서위해위해할당로할당이됩니다。 苹果开发人员计划(Apple Developer Program)。

帮助> Xcode帮助并搜索“签名工作流程”。

Xcode익숙해지기

Xcode개발하기모든것이있습니다。 。리파일과스를다。 Xcode,iOS调试器,调试器,Xcode,Xcode,Xcode和Xcode上的产品。

Xcode的工作区부위별로의를가지를기바랍니다바랍니다:

  • 导航器区域。 。로젝트의다。해줍니다。
  • 编辑器区域。 소스코드,유저인터페이스및리소스밖에다。
  • 实用区域。 。이템에정보와소리소스에공합니제공합니다。 부분은파트파트나뉘는데요부분은부분은부분은부분은부분은부분은를를를있습니있습니있습니있습니。。。 图书馆资料库서이스스요소단축및및소소스있습니있습니있습니있습니。。。
  • 工具栏。 구축하고구축하고용되용되용되。。있습니있습니있습니있습니있습니있습니。

이것엄청다고기죽지마시기바랍니다。 다때마때마보시면시면。

iOS시뮬레이터기

Xcode发行商,Xcode发行商。 도작성하시않으셨을않으셨을지라도도View도도도View View View View도도도이능합니

위해서는구동하기위해서는Xcode미있는Sim iOS模拟器용하면이됩니다。 ,제기기에서이,지,지것입니다。

iOS,iPad,iPhone,iPad,iPhone,iPad,iPhone和iPad上的应用程序。 폰이에서는이폰7을사사다。

시뮬레이터에서실행하기위해서는

  1. Xcode工具栏의方案弹出窗口아이폰7을선택하세요。 计划弹出窗口하는기기시뮬레이터를있습니다。 폰이폰7시뮬레이트정확히해주세요。

2.运行버튼을。 (왼쪽다。)

下载产品,运行>을다。 (또는Command-R을됩니다。)

는지보시는X,Xcode의할할지다。 능에code code디버깅디버깅디버깅디버깅code code code code code code code code code code code code code code code code code code code code。 면지것인정하셨다면,지시를다。

면지선택하다면,면。 。가가됩니다。

3.在Xcode中运行Xcode。 Xcode的活动查看器과정에지메세보를다。

되면로프(되면)가완료되면이터가자동으로시작됩니다。 되면되면걸걸도도도도도。。

。이터는이선택한이폰이구동합니다。 주며기에는이터가런치앱의런치주며주며주며주며주며。스스스스스스스스。 없는항항View View View View스스스스스스스다。

单视图应用程序금이실행하지않습니다,다,다。 。른。가가고다。 。확장적용하적용하전에。。。。。 。정없이시뮬레이터에서방법입니다방법입니다。

Simulator> Quit Simulator됩니이터를다。 (또는Command-Q를누르세요)

소스코드보보

单视图应用程序템플릿은다환경을정하는가지지스코드를가지고다。 우선D AppDelegate.swift文件을다도록다。

AppDelegate.swift소스파일보기

  1. 项目导航器를导航器주세요。 项目导航器는로젝트에여보여다。 项目导航器列表,导航器选择器栏。 (“视图”>“导航器”>“显示项目导航器”。)

2. project项目导航器내에FoodTracker클릭하십시오삼각형을。

3. AppDelegate.swift를。 Xcode的소스엽니다엽니다。

应用程序委托源文件

ApplDelegate.swift应用商店2가지의기능이있습니다:

  • AppDelegate클래스에정의가있습니다。 应用程序委托여러분이내용물이그려지는는변화변화경우경우장소를장소를장소를장소를장소를장소를장소를장소를장소를장소를장소를장소를장소를장소를장소를장소를
  • 入口点(),运行循环和驱动程序。 使用UIApplicationMain@UIApplicationMain )进行下载。
  • UIApplicationMain UIApplicationMainAppDelegat程序的代理代理。 应用程序对象的应用程序。 이application생명주기생명주기를리하는다。 D D D AppDelegate 클래인인턴턴생성하여것을것을。다。 마지막으로시스템은다。

AppDelegate的클래로운젝트로젝트다자동으로자동으이됩니다。 Xcode,Xcode,Xcode,Xcode,Xcode,Xcode,Xcode和Xcode中的所有功能。 AppDelegate的UIApplicationDelegate的下载。 方法,方法,方法,方法和方法。

AppDelegate属性:窗口。

var window: UIWindow?

앱의로퍼티는앱의窗口에스를다。 이窗口앱의视图하이라키의(根)를다。 。이바로앱의내용이작성되는다。 窗口可选임을기바랍니다。

AppDelegate代理的方法。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool

func applicationWillResignActive(_ application: UIApplication)

func applicationDidEnterBackground(_ application: UIApplication)

func applicationWillEnterForeground(_ application: UIApplication)

func applicationDidBecomeActive(_ application: UIApplication)

func applicationWillTerminate(_ application: UIApplication)

들을方法앱委托代表应用程序소통이가능합니다。 로이상응하는일어나는동안동안로로로로로로로로경우application application application application application application application application application application application。。。。。。。 이method들정확한정호출이하기없습니다없습니다。 应用程序객체가해주기때문입니다。

각각의代表方法본가고다。 AppDelegate应用商店中的方法,方法由应用程序提供。 반대로,方法,方法和方法。

각각의方法꾸러미에코멘트도공합니。。。 들들이方法들이용사있습니이되는지있습니다。 본있습니장장。진으진으진으진으진으진으。

应用程序代理,应用程序代理,AppDelegate.swift和其他应用程序。

查看控制器源文件

单一视图应用程序-ViewController.swift가있습니다。 ViewController.swift를。

Controller Controller ViewController의이커지어진UIViewController커스텀子类정의하고다。 UIViewController的정바바로여기이있습니스있습니다。 때에는View상에View UIViewController상에의된方法의된의된의다합니다。

ViewController.swift,ViewDidLoad()和didReceiveMemoryWarning()方法已添加。 하지만,方法和UIViewController버전을다진행하다。 查看控制器,然后单击“添加”。

Re didReceiveMemoryWarning()方法,方法,方法,方法,方法和方法。

부분에서이View,ViewController.swift자면보자면,아래와다。 (中号Xcode의작성하가가가가들여쓰들여쓰。。。。)

  1. import UIKit
  2. class ViewController: UIViewController {
  3. override func viewDidLoad() {
  4. super.viewDidLoad()
  5. // Do any additional setup after loading the view, typically from a nib.
  6. }
  7. }

。정에서는스소이코드에이것입니다。

故事板열기

情节提要,情节提要(s)故事情节(story)情节提要。 토스토리를기배치하스토리보드를이용하게다。 있으며무엇을있는무엇을있는있는있는있으며있으며있으며있으며있으며있으며있으며있으며있으며있으며있으며있으며。。。。。。。。。。。。。

스토리보드를열기위해서는

项目导航器에서Main.storyboard를。 Xcode界面生成器(编辑器可视界面编辑器)。 스뒷배경은리보드의画布뒷배경은다。 。이캔버스인터페이스추가하고정됩니다。

sc시점에서sc sc sc sc sc sc sc sc sc sc。 故事板入口点(스토리보드의)이며,즉,즉이어리어지어이라는다。 视图控制器提供单个视图。 views와view controller的浏览器。

폰이폰7시뮬레이터시에시에시에시에시에기기크린에서이되겠습니다。 하지만,캔버스에이시뮬레이터의스터의사이즈를가지지있습니다。 。스의보면스크린사즈와있습니있습니다。 폰리과정의,세로방향으로아이폰정하여,하여스와이터가합시다。

自适应接口(自适应接口),自适应接口,自适应接口,自适应接口。 인터페이스를로봄으,캔버스의있고있고,있고이스가다른사즈의적용되는지적용되는다있습니다。

기본UI구축하기

。이제기본를이스를보도록하겠습니다。 食物追踪器(FoodTracker)以及其他供应商。

Xcode여러분이스토리보추추할브​​러브러브러브러브러라라브러브러브러브러브러브러브러브러브러브러브러브러 이몇지가지버튼이나스텍스인터페에이스보이는다。 와View Controller와手势识别器와이지는지않지만정행동을다있습니다。

계실텐데요에에계실텐데요계실텐데요계실텐데요계실텐데요계실텐데요컨텐츠컨텐츠컨텐츠컨텐츠컨텐츠컨텐츠컨텐츠컨텐츠。 은깔끔하고유려하고유려하고를를를를를를블록입니블록입니블록입니。 Views스자기들을들을양하고양하고양하고양하고미미미고고있습니있습니있습니있습니。

iOS모든视图객체는UIView또는UIView의子类입니다。 View UIView子类들이있습니다。 使用(UITextField)方法更新UIView的子类,使用UIView子类。 있으며스트필드에서텍스트를기입할있으며있으며부분을부분을름으이하겠습니로사하겠습니다。

텍스트필드가추기

1.编辑器>画布차례로선택Show,显示边界矩形。 이렇게정설,인터페이스설로하여금스캔버모든다들주위다박다합니다。 查看조작들이투명한가고제사이즈를확인하기가가다。 템에서스템에서view의사이즈를정할때,레이아웃가발생이되는데요,그래서이것보다사이즈가있습니다。 시키면,查看하이라키를있는지를정있는이도움될다확하게다。

2.라이브러리를。

3.对象库는Xcode우측에实用程序区나타납니다。 物件,物件,物件,物件和物件3번째다。 (查看>实用程序>显示对象库。)같이같이객체의름름이름이고이각。고고고여주는。。。。

4.对象라이브러리에서,过滤字段에 text field 핑하여이핑하여文本字段있습니다。

5.文本字段객체를对象라이브러리에서씬으로가져가세요。 면스가보이면,编辑>画布>缩放和缩放。 (맥북의,경우가락으로터치하여다。)

6.文本字段를져간져간음맞추어정맞추어주세요。 。다멈춥니。 받아이를가이받아드의文本字段됩니다。 text이를드는이아웃레이아웃가이즈를보이이보며,文本字段라사라다。

7.위해서리사이즈드러내기위해서文本字段위해서다。 를이스요소(여기서는文本字段)를调整大小句柄드래그하여사이즈를정합니다,文本字段작은사각형이각형나타나는데요각형다합니다。 text제든지文本字段클릭하면调整大小以处理나타납니다。 文本字段列表이field상태다됩니다。 文本字段아래이보인다면,사이즈정이가능한이며이며이이이지다면다시한번。

  1. 文本字段된리를로된로된3개의이아웃가이드(점선)가일때지사이즈를정해다:왼쪽정렬,수평가운데정그그정고정렬。 文本字段,字段,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,字段,名称,名称,名称,名称,名称,名称,字段,名称,字段,名称,名称。 文本字段,占位符,文本字段,占位符,文本字段和占位符。

文本字段키보드하기

  1. 文本字段가선택된로상태지시켜지시켜。
  2. 属性检查器영역에서,返回键를完成。 (返回页首)。返回键返回页首返回页首返回页首返回页首返回页首返回页首返回页首返回页首返回页首返回页首返回页首返回页首返回页首返回页首返回页首返回页首返回页首返回页首返回页首。
  3. 属性检查器,“自动启用返回键”。 (안보이시면다시스아래로찾아보찾아기바랍니다。)이렇게text text text one one없어서없어서없어서없어서없어서름과름과같은같은같은입력하입력하않을합니합니합니합니합니。

下载标签(UILabel)的照片。 标签은정보를이아니고,아니고이스에정적인스트를기능을다。 文本字段사용자가스텍트를트를위해위해。。。。의하는의의。。。。。。。。 文本字段中的文本字段。

추가추기

  1. 对象라이브러리에서,标签객체를이빠르게기위해标签타이핑。
  2. 标签라이라리브러씬으로씬으로드레그。
  3. 标签놓은文本字段바로위에하세요맞추어드레그드레그。 가이드라인에label이드래그를멈추세요。

4.标签클릭하고餐名라고이핑해넣으세요。

5.标签새로운스트를보여주도록Return을。

이제,버튼(UIButton)을추가하세요。 서로객체,서이정이일어나도록다。 나중에,标签텍스트를초기값으로것입니것입니다。

하가추기

  1. 对象라이브러리에서,Button객체를빠르게기필터에서button을핑이핑하세요。
  2. 객체를씬으로드래그。
  3. 按钮을文本字段바로바위치시키고맞추어렬렬렬되도록드래그。 button이가이드라인에들어오면드래그를。

4.按钮을더블클릭하고设置默认标签文本라고타이핑하세요。

5.在按钮上单击“返回”。

6.필요하면,按钮의위치를변경하세요。

여러분이추가들요소이실제로렬정렬이되는지이해하는데。 。이스스이요소들가가되었는지아웃라인다

검토하기

  1. 스드에서리보드에서大纲视图切换찾아보세요。

2.轮廓视图열리면,轮廓视图확장합니다。 따라서大纲视图위해서기위해서大纲视图切换있습니다。

나타나는大纲视图토스나타나는리보로보구조기능을제능을다。 文本字段,标签为그리고button을합니다。 。기서드립니다。 요소들은이추가한인터페이스요소들은View아래까요까요?

Views자기크린에스크린에기하만지하사하하게되며하게되며다른른하게되며겁니다겁니다。 视图하이라키로불리는구조로정렬이됩니다。 查看层次结构른다른연관되는观点연관되는이아웃을정의다。 이이하(계층)내에서,내에서안에포함된view view view view,러한라키。view view view view다。 하나의는를를를를를super만만만만만。。。。。

,로,자체서로자체查看하이라키를가집니다。 각视图하이라키의이内容视图입니다。 씬에서는内容视图和View Controller视图단View로집니다。 文本字段,标签그리고button이이内容视图의子视图들이되겠습니다。 content이여러분의리올밖의들도content内容视图의子视图되는다。 (자체적으로중척subview를라도요지라도요..)

인터페이스미리보기

하세요이예상하고로보이는지주기적으로하기미리보기하세요。 助理编辑를이를앱이스를미리보기있습니다。 。기편집보와기편집다하여다줍니다。

인터페이스미리보기

  1. 助手编辑器열기열Xcode상단모서리근처Xcode code助手按钮을。

2.使用Xcode,Navigator和Utilities以及Project navigator和다다。 大纲视图。

3.助理编辑器나타나는编辑器(편집기)선택바에서,助理编辑器를自动预览> Main.storyboard(Preview)로로。

助理编辑시는보시는Preview预览。 하지만,이게로운가뭔이야기하는다。 와스와Preview동일한사즈의스크린(아이폰7)동일한방향다(세로)여다。 면이스가고지되는보면다면,다즈와사이즈와다를를로Preview를다。

4.单击“预览”,然后单击“旋转”。

안타깝지만,인터페이스들이더이상보이지는。 文本字段,标签그리고button가사사이즈와스비교적좌측지하고지하고지만。 将文本字段中的文本添加到文本中。

5.副主编,副主编,副主编和副秘书长。

다시文本字段,标签및button은사이이즈를지하고,스위치도좌측리자리있습니다있습니다。 하지만이번에는文本字段가스모서모서리를。다。

사즈의즈의능한능한를를를를를이이이이것입니것입니다。。。 text들면들면text text text text text text text text text text text text text。。 때에는이스가아이폰SE에서보여때에는文本字段줄어들어야다。 自动布局사을있습니다있습니다。

오토레이아웃기

“自动版式”中的“自动布局”。 约束条件约束条件。 러한이아웃은이러한约束를사요소의요소의다이나믹하게다。

堆栈视图堆栈视图(UIStackView)堆栈视图堆栈视图堆栈视图堆栈视图堆栈视图。 堆栈视图모든사즈를계산하덮개아웃을아웃을아웃을아웃을아웃을아웃을아웃을아웃을。 있으며이함으로써아웃의이아웃의있으며이있으며있으며이。。다。

stack이아웃을기적용하,堆栈视图있는기스이스요소들을랩핑하아시고,를堆栈视图필요한기위치시키约束(제약)추가하세요。

씬(지있는있는에)아웃이아웃제약추가하기

  1. Standard클릭하여标准编辑器로돌아가세요。

project navigator와 utility 을 클릭하여 영역을 확장하세요.

2. 키보드의 shift 키를 누르면서, text field, label 과 버튼은 선택하세요.

3. 캔버스 우측 하단에, Embed In Stack 버튼을 클릭하세요. (Editor > Embed In > Stack View 순서로 선택해서 하셔도 됩니다.)

stack view에서 유저 인터페이스 요소들을 함께 쌓아서 Xcode가 묶습니다. Xcode는 아이템들이 수평이 아닌, 수직으로 쌓여야 하는 것을 인지 하기 위하여 기존 레이아웃을 분석합니다.

4. 필요하면, outline view를 열어서 Stack View 객체를 선택 하시기 바랍니다.

5. Attributes inspector에서 Spacing field에 8을 타이핑하여 넣으시고, Return을 누르세요. 유저 인터페이스 요소로 하여금 수직으로 공간이 이루어짐을 통보받게 하고, stack view는 이 공간을 통해 크기가 커지게 됩니다.

6. 캔버스의 우측 하단에서 Add New Constraints를 여세요.

7. 아래 “Spacing to nearest neighbor,”에, 2개의 수평 constraint와 top 수직 constraint 을 선택하기 위해 클릭하세요. 그러면 선택되었다는 의미로 흐린 빨간색 점선이 진한 빨간색 선으로 변합니다.

위에서 선택한 constraints는 가장 가까운 쪽 leading(앞), trailing(뒤) 및 top(위)의 것들과의 공간을 가리킨다. 이 부분에서, 가장 가까운 것들의 조건이란 가장 가까운 유저 인터페이스 요소들의 바운더리를 의미하는데, 어떠한 것들이냐하면, Superview가 될 수 있는 것들, 그 밖에 다른 유저 인터페이스 요소 또는 마진 입니다. “Contstraint to margins” 체크박스가 선택되어 있기 때문에, 이번 경우에서 stack view는 superview의 왼쪽과 오른쪽 마진에 제약이 걸릴 것입니다. 이렇게 하면 stack view와 씬의 모서리 사이에 공간을 주게 됩니다.

다른 한편으로, stack의 상위가 씬의 상위 레이아웃 가이드에 걸려 제약이 됩니다. 상태바가 보일 경우, 상위 레이아웃 가이드는 상태바의 하단에 위치합니다. 그렇지 않으면, 씬의 상위에 위치합니다. 따라서 stack view와 레이아웃 가이드 사이에 약간의 공간을 추가 해 줄 필요가 있습니다.

8. 좌측 우측 박스에 0을 넣으시고, 위에 박스에는 20 공간을 넣으세요.

9. Update Frames 옆에 있는 팝업 메뉴에서, Items of New Constraints을 선택하세요. 이렇게 하면, 여러분이 constraints를 생성할 시에 영향 받는 view들의 프레임을 인터페이스 빌더가 자동으로 업데이트 하는 것이 가능 합니다.

10. Add New Constraints 메뉴에서 Add 3 Constraints 버튼을 클릭하세요.

label, text field 와 버튼이 현제 왼쪽으로 일직선상에 놓이며, 적당한 공간으로 놓입니다. 하지만 text field는 여전히 스크린의 폭에 맞춰 채워지기 위해 늘어나지는 않습니다. 늘어나게 하려면, 별도의 constraint를 추가해야 합니다.

stack에서 text field 가로폭을 조정하기.

  1. 스토리보드에서 음식 씬에 있는 text field를 선택하세요.

2. 캔버스의 우측 하단에서 Add New Constraints 메뉴를 다시 여세요.

3. “Spacing to nearest neighbor,”위에 있는 우측 수평 constraint를 선택하기 위해 클릭해주세요, 선택되면 빨간색으로 변경됩니다.

4. 오른쪽 박스에 0을 넣으세요.

5. Update Frames 옆에 있는 팝업 메뉴를 열어 Items of New Constraints를 선택하세요.

6. Add New Constraints menu에서 Add 1 Constraint button을 클릭하세요.

확인사항: iOS 시뮬레이터로 앱을 실행시켜 보세요. Hardware > Rotate Left and Hardware > Rotate Right (또는 Command누르고 왼쪽 화살표 또는 오른쪽 화살표를 눌러도 됩니다.) 순으로 선택하여 시뮬레이터를 회전해 보세요. 어떤가요? 기기의 방향과 스크린 사이즈에 따라서 text field의 사이즈가 어떻게 적합하게 커지거나 작아지는지 보세요. 또한 가로 화면 방행에서 상태바가 사라지는지 보시기 바랍니다.

text field 안쪽을 클릭하고 화면상의 키보드를 이용하여 텍스트를 입력하여 보세요.(원하시면, 맥의 키보드를 사용할 수 도 있습니다. Hardware > Keyboard > Connect Hardware Keyboard 순서로 선택해 보세요.)

오토레이아웃 디버깅 하기

여러분이 의도하였던데로 잘 되지 않으면, Auto Layout 디버깅 기능을 이용하여 도움을 받아보세요. Update Frames 버튼과 Resolve Auto Layout Issues 메뉴를 사용하여 디버깅 기능에 접근할 수 있습니다.

views를 잘 못 놓아서, 경고가 떧나요? Update Frames 버튼을 사용하세요. 이버튼을 누르면 선택된 view와 그 view의 모든 subview의 프레임이 업데이트 됩니다. 씬에 있는 모든 view들을 업데이트 하기 위해서는 씬의 view controller를 선택하세요. 선택된 view만을 업데이트 하기 위해서 Update Frames 버튼을 옵션 클릭 할 수도 있습니다.

레이아웃이 여러분이 의도한 데로 동작하지 않는다면, Resolve Auto Layout Issues 버튼을 클릭하여 디버그 명령어 메뉴를 가져오세요. 이메뉴에 모든 명령어들이 두가지 형태를 가지고 있습니다. 하나는 현재 선택된 view에만 영향을 주는 것이며, 다른 하나는 현재 view controller에 있는 모든 view에 영향을 줍니다. 모든 명령어가 흐린 회색으로 보이면, 씬의view controller 또는 views를 선택하시고서 메뉴를 다시 열어 보세요.

constraints의 유효한 셋팅으로 여러분의 인터페이스를 Xcode가 업데이트 하게 하기 위해서는 Reset to Suggested Constraints를 선택하세요. 유저 인터페이스 요소에 있는 모든 constraint를 삭제하고 싶은 경우 Clear Constraint를 선택 하세요, 그러고 나서 constraints 셋팅을 다시 하기 위해서 앞서 보여 드린 지침에 따라 다시 시도해 보세요.

마무리

자 이번 과정에서는, 여러분이 Xcode 프로젝트의 여러 내용물과 iOS 앱을 설계하고 구동하기 위해 사용하는 많은 툴에 여러분 스스로 익숙해 졌습니다. 또한 간단하지만 유저 인터페이스를 직접 구축도 해보셨고요.

프로젝트의 씬이 아직은 대단해 보이지는 않아도, 기본 유저 인터페이스가 있고 기능을 갖추고 있습니다. 여러분의 레이아웃을 시작점에서부터 잘짜여져 있고 확장 가능토록 꼭 해보시는 것이 견고한 밑바탕으로 앱을 구축할 수 있도록 해줄 것입니다.

注意

이번 과정의 완성된 샘플 프로젝트를 보시고 싶으시면 아래 파일을 다운로드 받으셔서 Xcode 프로그램으로 보시기 바랍니다.

Download File


다음편은 Connect the UI to Code(UI와 코드 연결하기) 입니다.

Note : 본 내용은 Apple공식 문서 내용입니다.저는 iOS와 Swift와 관련된 좋은 기사 또는 공식 문서를 한글로 번역하여 공유하고 있습니다. This article is originally from Apple. This blog is aiming to share good information with those who are interested in Swift programing language and iOS development, but it is translated in Korean.

Interesting Posts