2011-12-21 4 views
2

먼저 Mac 데스크톱 프로그래밍에 대한 경험이 많지 않습니다. iOS 앱에서만 작동했습니다.Mac에서 UIView 표시

이제 iOS 앱을 개발하는 데 도움이되는 데스크톱 응용 프로그램을 만들고 싶습니다. 그렇게하려면 인터페이스 빌더가 작동하는 것과 비슷하게 바탕 화면에 UIView (xib에서로드 됨)를 표시해야합니다.

지금까지 데스크톱 응용 프로그램을 사용하는 경우 NSView을 사용합니다. NSView 안에 UIView를 표시 할 수있는 방법이 있습니까?

편집 : UIViewNSView으로 변환 할 수있는 방법이 있습니까?

EDIT2 : 인터페이스 작성기에 대한 플러그인/확장명을 쓸 수있는 방법이 있습니까?

EDIT3 : 특정 iOS 앱 (프리젠 테이션 앱)을 더 쉽게 개발할 수있는 응용 프로그램을 만들려고합니다. 예를 들어 스크롤 뷰에 여러 개의보기를 표시하는 응용 프로그램 (각보기에는 애니메이션이 적용된 그래픽 요소와 팝업을 표시하는 일부 단추가 있습니다). 이러한 종류의 앱은 개발하기 쉽지만 지루합니다. 더 빨리 그런 앱을 만들 수있는 도구를 만들고 싶습니다.

감사합니다.

+0

당신이 iOS 앱을 작성하고 장치 (또는 시뮬레이터)에서 실행 할 수없는 이유가 체크 아웃 할 수 있는가? –

+0

그게 해결책이 될 것입니다. 그러나이 응용 프로그램은 마우스/키보드/큰 화면에서 사용하기가 더 쉬울 것입니다. – silviupop

+1

에뮬레이터에서 실행 하시겠습니까? –

답변

2

빌드하려는 앱에 대한 설명이 주어지면 OS X에서 UIViews을 조작하는 대신 XIB XML을 직접 작성하는 것이 좋습니다. 에뮬레이터를 사용하여 컨트롤을 배치 한 다음 장치의 계층 구조 (위치 등)의 직렬화 된 표현입니다. 직렬화 된 양식을 에뮬레이터에서 다시 가져온 후 장치 또는 바탕 화면에있는 해당 직렬화에서 XIB XML을 생성 할 수 있습니다.

3

UIView는 iPhone에서만 작동합니다. Mac에서는 NSView를 사용하십시오.

+0

이것은 내 문제를 해결하지 못합니다 ... – silviupop

+2

실제로 문제에 대한 해결책이 없습니다 ... – Saurabh

+0

둘 다 OS와 해당 프레임 워크는 다릅니다 – Saurabh

1

아니요, 없습니다. 하나는 Cocoa (Mac) 프레임 워크의 일부이고 다른 하나는 CocoaTouch (iOS)입니다.

당신이 무슨 뜻 있는지가 UIView의 변환 아니 NSView의 당신이 달성하려고하는 무엇

? 아마도 당신의 목표를 성취 할 다른 방법이있을 것입니다.

7

OSK (Mac 데스크톱 OS)에서는 UIKit (을 포함한 iOS UI 프레임 워크)가 실행되지 않습니다. OS X에 타사 UIKit 포트를 만들려는 노력이 몇 번있었습니다.이 중 Chameleon이 가장 앞선 것일 수 있습니다. 그것은 여전히 ​​프로젝트 페이지에 따라 UIKit의 약 60 % 만 구현하지만 운송 응용 프로그램에 사용되었습니다. 트위티픽의 제작자가 iOS 앱을 OS X에 이식하기 위해 개발 된 제품으로, 데스크톱에서이 제품의 기초가되었다고 생각됩니다.

NSViewUIView을 "변환"할 수있는 방법이 없습니다 NSView

UIView 변환. OS X (또는 iOS의 AppKit)에서는 UIKit을로드 할 수 없기 때문에 UIView을 인스턴스화 한 다음 뷰 계층 구조를 걸어 해당 NSView을 인스턴스화하는 방법은 없습니다. 물론 UIView의 의미가 NSView과 다르므로 결정적 매핑이 있는지 여부는 분명하지 않습니다. NSView 계층 구조는 뷰 기반이지만 UIView 계층 구조는 CoreAnimation 계층을 훨씬 보편적으로 사용합니다. NSView은 NeXT AppKit 프레임 워크에 뿌리를두고 있습니다. AppKit에는 연령이 표시되는 영역이 많이 있습니다. UIKit은 새로운 시작이며, AppKit에서 이러한 유산 문제의 대부분을 "수정"합니다 (물론 미래의 "유산"문제를 소개합니다).

의미 매핑있다 NSViewsUIView에서 NSView 거의 비슷 인스턴스의 XIB를 파싱 할 수있다. 맞춤 UIViews은이 구성표의 테이블에서 완전히 벗어나므로 각 UIView (카멜레온 프로젝트와 유사)에 대해 맞춤 NSViews을 작성하지 않으면 (쉽게) 룩앤필을 일치시킬 수있는 방법이 없습니다.

IB 플러그인

인터페이스 빌더 3은 플러그인 아키텍처를 suppert 않았다. Xcode 4를 사용하면 Interface Builder가 타사 플러그인을 더 이상 지원하지 않습니다. 죄송합니다.

편집

불행하게도, 난 당신이 코드에서 인스턴스화하는 대신 XIB보기를로드 할 경우 프로젝트에 공헌 할 수 있도록 카멜레온, XIBs에서보기를로드 할 수 있다고 생각하지 않습니다 ... Ashley가 지적했듯이, 매우 깊은 토끼 구멍으로 뛰어들 수 있습니다.

관련 문제