2010-05-25 6 views
0

오픈 소스 툴 체인을 사용하여 iPhone 앱을 컴파일하고 있습니다. 그래서 나는 Interface Builder 나 XCode가 없다. UIButton, UITextView 등과 같은 위젯의 레이아웃을 어떻게 설정합니까? 또한 UI 위젯에 이벤트 처리기를 추가하는 방법은 무엇입니까? 인터페이스 빌더 또는 Xcode가 없음을 기억하십시오.iPhone에서 레이아웃/이벤트 설정

답변

1

Xcode를 사용하지 않으면 궁극적으로 문제가 발생할 것으로 생각됩니다. 그러나 Interface Builder를 사용하지 않고 iPhone을 모두 수행 할 수 있습니다. 결국 코드에서 많은 사각형과 픽셀 상수를 정의하고 addTarget 메서드를 호출하여 액션에 연결합니다.

UIButton *myButton = [[UIButton alloc] initWithFrame:CGRectMake(MYBUTTON_X, MYBUTTON_Y, MYBUTTON_WIDTH, MYBUTTON_HEIGHT)]; 
[myButton addTarget:self action:@selector(foo) forControlEvents:UIControlEventTouchUpInside]; 
[self.view addSubview:myButton]; 
[myButton release]; 

버튼을 생성하고 푸시하면 "foo"메소드가 호출됩니다. IB에서 할 수있는 일은 일반 코드로 수행 할 수 있습니다. (그런 식으로하는 것이 더 지루합니다.)

+0

"Xcode를 사용하지 않으면 결국 문제가 생길 것 같습니다." 무슨 소리 야? –

+0

이것이 Objective-C 1.0 용이라고 생각합니다. Objective-C는 이미 iPhone에서 지원됩니까? 그렇다면 Objective-C 2.0을 활용하도록 코드를 업데이트 할 수 있습니까? [UIButton new] –

+0

iPhone은 ObjC 2.0을 대부분 지원하지만 가비지 수집은 지원하지 않습니다. 일반적인 패턴은 + alloc을 호출 한 다음 -init .. 메소드를 호출하는 것으로, 실제로 + new에 익숙하지 않습니다. Xcode에 대해 - jailbroken 전화를 타겟팅하는 경우 필요하지 않을 수도 있습니다. 하지만 앱 스토어에 게시 할 예정이라면 Xcode를 사용하지 않는다면 코드 서명 단계로 많은 어려움을 겪을 것입니다. (또는 적어도 명령 줄에서 xcodebuild와 같은 Apple 도구를 호출하십시오. 텍스트 편집기에 대해 원하는대로 사용할 수 있습니다.) –

관련 문제