2012-06-16 2 views
0

방금 ​​iOS 튜토리얼을 완료했습니다. 이제 하나의 스크린을 조작 할 수 있지만, "버튼 리스너"를 구현하고 단추에 다른 뷰로 이동하여 이동하도록 지시하는 방법을 모르겠습니다. 여기 컨트롤러의 버튼 동작을 다른 뷰로 만드는 방법은 무엇입니까?

내 코드는 지금까지 있습니다 :

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController 

@property (weak, nonatomic) IBOutlet UIButton *homeToLearn; 

- (IBAction)homeToPlanBusiness:(id)sender; 
- (IBAction)homeToLearn:(id)sender; 
- (IBAction)homeToMyPlans:(id)sender; 
- (IBAction)homeToSettings:(id)sender; 

@end 

가 어떻게 이러한 버튼 중 하나를 내가 만든 LeanController로 이동해야합니까? 나는 LearnView를 만들 필요가 있다고 생각하지만, 일단 내가 그것을 만들면 어떻게 함께 묶을 수 있습니까?

감사합니다.

답변

1

스토리 보드 또는 IB와 함께 코드에서이 작업을 수행하려고합니까? 타겟팅하려는 iOS 버전은 무엇입니까?

일반적으로 말하자면, 당신이하고 싶은 것을 성취하는 두 가지 주요 방법이 있습니다. 당신이 원하는 경우에 당신은 다른 뷰 컨트롤러를 처리하기 위해 탐색 컨트롤러를 생성 한 후 같은 것을 할 것 "을 기반으로 탐색" [self.view addSubview:newLeanView]

: 당신은 당신이 뭔가를 할 수있는 의견을 교환하는 경우 [self.navController pushViewController:newLeanController animated:YES]

+0

감사합니다. 첫 번째 예가 내가하려는 일처럼 보였습니다. 나는 새로운 시각을 보여주기 위해 노력하고 있습니다. 하지만 시스템이 특정 버튼을 누르지 않고 다른 버튼을 눌러야한다고 어떻게 말합니까? – Genadinik

+1

단추의 대상 동작에'선택자 '즉 메서드를 추가합니다. 당신은'addTarget : action : forControlEvents :'를 사용할 것입니다 :'[saveButton addTarget : self action : @selector (saveButton :) forControlEvents : UIControlEventTouchUpInside];' –

1

Objective-C에서 IBActions 또는 일반 오래된 인스턴스 메서드는 "수신 대기"되지 않으며 인터페이스 식으로 문자 그대로 만듦으로써 이벤트를 브로드 캐스팅하는 단추에 연결됩니다. 다른보기로 이동하려면 UINavigationController의 documentation을 살펴보십시오.

에 관계없이 아이폰 OS, 엑스 코드 또는 SDK 버전은 IBAction를 리턴 값으로 선언 된 방법 (여하튼 voidtypedef)의 인터페이스 빌더 방법은 인터페이스 요소에 매여 이제 가능하다는 것을 경고한다. 귀하의 경우에는 XIB의 캔버스 위로 드래그하는 버튼을 클릭하십시오. 어떤 시점에서, 클래스의 연결 탭 아래에서 이벤트 보낸 사람 (이 경우 버튼)으로 동작을 끌어오고 비올라는 펜촉을 보관하지 않을 때 마술처럼 설정됩니다.

1

iOS 튜토리얼을 완료하지 못했지만 대부분의 자습서에서 이러한 개념을 소개합니다. 버튼을 액션에 연결하고보기 컨트롤러간에 전환하는 과정은 풍부한 자습서로 충분합니다 (예 : Ray Wenderlich; Stanford; Lynda). Google을 사용하면 많은 조회가 발생합니다. , 그리고 우리 중 아무도 당신의 질문에 대한 간단한 대답으로 정의를 실현할 수있는 방법이 없습니다. 답변이 많은 다른 질문에 많이 의존하기 때문에 (ARC를 사용하고 있습니까? 스토리 보드를 사용하고 있습니까? 등) 이것은 더욱 복잡합니다.

관련 문제