.xib 파일과 .storyboard의 차이점은 무엇입니까?


161

누군가 .xib와 .storyboard의 차이점을 간단한 말로 설명 할 수 있습니까?


.timeline이 무엇인지 모르겠습니다. 태그가 참조하는 Facebook 타임 라인과 아무 관련이 없다고 생각합니다.
iandotkelly 2011

1
이 두 개의 완전히 별개의 질문입니까, 조지? 또한라고 말할 때 저장된 파일의 버전에.timeline 대해 이야기하고 있습니까?
Michael Dautermann 2011

여기에 두 개의 개별 질문이 있었으므로 하나만 수정했습니다. 첫 번째 질문은 Cannot find window-based application on XCode 와 같이 여기에서 몇 번 제기되었으므로 Storyboarding 질문에 초점을 맞추기 위해 해당 부분을 제거했습니다.
Brad Larson

1
이와 유사한 질문 인 Storyboard 사용시기 및 XIB 사용시기를 참조하십시오 . iOS 8 및 Xcode 6에 대한 업데이트를 포함하여 매우 상세한 답변을 제공합니다.
Basil Bourque 2014

답변:


115

Apple은 "storyboarding"앱의 화면을 단순화하고 더 잘 관리하기 위해 iOS5 SDK 의 개념을 도입했습니다 . 여전히 .xib개발 방법을 사용할 수 있습니다 .

각각 UIViewController은 관련이있는 전 스토리 보드 .xib입니다. Storyboard두 가지를 달성합니다.

  1. .storyboard본질적으로 앱의 모든 화면에 대한 하나의 단일 파일이며 화면의 흐름을 보여줍니다. segues이런 식으로 화면간에 / 전환을 추가 할 수 있습니다 . 따라서 여러 화면을 관리하는 데 필요한 상용구 코드를 최소화합니다.

  2. 앱의 전체 파일 수를 최소화합니다.

Storyboard"스토리 보드 사용"옵션을 선택하지 않은 상태로두면 새 프로젝트를 만드는 동안 사용 을 피할 수 있습니다 .

튜토리얼 을 참조 하여 시작할 수 있습니다.


5
그렇다면 스토리 보드가 .xib 파일의 필요성을 대체합니까?
William Sham

16
이상적으로는 그렇습니다. 1 .storyboard 파일 = 'n'no. .xib 파일의.
Sagar Hatekar 2011

2
하지만 뷰 간 전환은 어떻습니까? 나는 segues가 있다는 것을 알고 있지만 segues에는 몇 가지 다른 스타일이 있습니다. 이전과 같은 방식으로 뷰 사이를 전환 할 수 있다고 가정하지만 segue를 사용하지 않으면 스토리 보드에서 이상하게 보일 것입니다. 그것에 대한 당신의 생각은 무엇입니까?
dontangg

1
이 경우 NavigationControllers가 작동 할 것이라고 생각합니까?
사가르 Hatekar

재미있는 사실 :이 게시물을 사용하여 (제한된) iOS 신용을
과시합니다

22

예, 여전히 iOS 5 용 창 기반 애플리케이션을 생성 할 수 있습니다. "빈 프로젝트"템플릿을 사용하는 경우 앱 델리게이트에서 창이 생성 된 것을 볼 수 있습니다. 여기에서 XIB 파일을 정상적으로 추가하거나 새 스토리 보드를 추가 할 수 있습니다.

나는 당신이 "타임 라인"이 아니라 "스토리 보드"를 의미한다고 가정하고있다. 스토리 보드를 사용하면 애플리케이션의 모든보기와 이들이 상호 연관되는 방식을 시각적으로 매핑 할 수 있습니다. 스토리 보드를 막 시작하는 경우 여기 에서 WWDC 2011 비디오에 스토리 보드에 대한 소개가 있습니다 . iTunes-U 의 2011 Stanford iOS 과정 은 iOS 5에만 해당되며 스토리 보드 등을 다룹니다.


15

스토리 보드는 모든 .xib 파일을 넣는 캔버스와 같습니다. 더 이상 .xibs가 없으며 캔버스에 뷰 컨트롤러 만 있습니다.


2
아마도 가장 유용한 답변 일 것입니다.
Munib 2011

9

스토리 보드는 Xcode 4.2 릴리스 이후 사용할 수있는 새로운 기능입니다. iOS 개발자가 사용자 인터페이스를 만들고 디자인 할 수있는 완전히 새로운 방법을 제공합니다. 스토리 보드가 도입되기 전에는 초보자가 탐색 (및 탭) 인터페이스를 만드는 것이 특히 어렵습니다. 모든 인터페이스는 별도의 xib 파일에 저장됩니다. 또한 모든 인터페이스를 함께 연결하고 탐색 작동 방식을 설명하는 코드를 작성해야합니다.

스토리 보드를 사용하면 모든 화면이 단일 파일에 저장됩니다. 앱의 시각적 표현에 대한 개념적 개요를 제공하고 화면이 연결되는 방식을 보여줍니다. Xcode는 스토리 보드를 레이아웃하기위한 내장 편집기를 제공합니다. 간단히 포인트 앤 클릭을 사용하여 다양한 화면 간의 전환 (세그라고 함)을 정의 할 수 있습니다. 그렇다고 사용자 인터페이스에 대한 코드를 작성할 필요가 없다는 의미는 아닙니다. 그러나 스토리 보드는 작성해야하는 코드의 양을 크게 줄입니다.

출처 : http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/


2

XIB :

1) Xib 파일은 단일 UIView와 함께 사용됩니다.

2) xib에서 복잡한 자동 레이아웃을 구현하는 것은 매우 어렵습니다.

3) 스토리 보드에 비해 더 많은 메모리를 사용하고 조용합니다.

4) iOS5 이상에서 호환됩니다.

5) 다른 XIB를 사용하여 다른 언어 및 국가에 대한 현지화를 수행 할 수 있습니다.

6) 여러 장치를 지원하기 위해 동일한 Xib를 사용하는 것은 어렵습니다.

스토리 보드

1) View Controllers, Nav Controllers, TabBar Controllers 등과 같은 모든 장면을 단일 스토리 보드에 배치 할 수 있습니다.

2) 위치와 크기를 정의하는 요소 간의 수학적 관계를 정의하는 자동 레이아웃을 쉽게 사용할 수 있습니다.

3) 보통 빠르고 적은 메모리를 할당합니다.

4) iOS 5 이전에는 호환되지 않습니다.

5) "Dynamic"및 "Prototype"셀을 쉽게 사용할 수 있습니다.

6) 화면이 중소형 인 앱에 가장 적합한 스토리 보드.

내가 본 최고의 답변 : iOS의 Xib Vs Storyboard


0

XIB 및 Storyboard는 사용자를위한 인터페이스를 만드는 데 사용됩니다.

한 가지 중요한 점은 xib는 단일 뷰 (xib 파일 상단에 단일 파일 소유자가 있음)를 만드는 데 사용되지만 뷰 컨트롤러의 경우 여러 화면을 추가 할 수 있으며 해당 흐름도 모니터링 할 수 있다는 것입니다. 별도의 파일 소유자).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.