2012-08-24 3 views
0

인터페이스 작성 도구를 처음 사용했습니다.인터페이스 작성 도구로보기 디자인

인터페이스 작성기에서보기를 디자인하고 싶습니다.
'loadNibNamed'를 통해 뷰를로드 할 수 있다는 것을 알고 있습니다.

이제보기에 두 개의 단추 (또는 두 개의 탭 제스처 인식기)가 있고 그 단추를 누르면 일부 기능이 실행되어야한다고 가정합니다.
'loadNibNamed'라는 viewController의 일부 기능에 터치 (?)를 연결하려면 어떻게해야합니까?

보기에는 두 개의 버튼 (또는 제스처 인식기)이있는 팝업보기 (PopUp view)가 표시됩니다.

답변

0

인터페이스 빌더 객체 (버튼)에서 클래스에 아웃렛을 설정해야합니다.

이렇게하려면 "loadNibNamed"를 대리자 클래스로 호출하는 클래스를 만들어야합니다. 그런 다음 단추를 합성하여 특성이되도록하십시오.

[button addTarget:self action:@selector(buttonPressed) 

forControlEvents : 당신이이 선택기를 추가하려면 어떻게하면

UIControlEventTouchUpInside]

더 좋은 방법은 특정보기에 대한 새 클래스를 작성하는 것입니다. BTW 당신이 엑스 코드를 업그레이드 간주있다 - :) 거기에 자습서의

[button addTarget:(UIMyClass)sender action:@selector(buttonPressed) 
    forControlEvents:UIControlEventTouchUpInside]; 

이 있어야합니다 많은 : 당신이 "loadNibNamed"라는 클래스의 이벤트를 잡으려면 경우에 당신은 뭔가 다른 목표를 설정할 수 있습니다 스토리 보드 사용?

--edit은 : - 당신이 인터페이스 건물 코딩 혼합되어 있기 때문에

문제가 발생합니다. 난 여전히 새로운보기에 대한 viewcontroller 클래스를 만들 필요가 있다고 생각하지만 호출자 클래스에 대한 선택기의 대상을 변경할 수 있습니다.

는 선택기에 대한 자세한 내용은 여기를 참조하십시오 @selector and other class (Objective-C)

이 비슷한 질문이 프로그래밍 방식으로 새보기에 데이터를 밀어 대해 여기에 있습니다 : 당신이 IB의 새로운면

Can we pass a parameter to view did load or view will appear of other class from a class

+0

감사합니다. 버튼을 합성하려면? 이 뷰와 함께가는 viewController를 만들고 있지 않기 때문에 .. 버튼을 선언 할 수있는 곳을 볼 수 없다. 튜토리얼이 많이 있어야하고, 살펴 보았지만 여전히 혼란 스럽다. 코드 (addTarget : action :)는 어디에 있습니까? – eugene

+0

내 편집보기 ^^^ – FaddishWorm

+0

고맙습니다. : – eugene

0

세 단계가 있습니다 . (ID) 보낸 사람 : (IBAction를) 것으로 someMethod -

  1. , 당신의 .H (헤더) 파일에 즉

    를 메소드 이름을 추가

  2. 수정 된 .h 파일을 저장하십시오.

  3. Open Interface Builder.

  4. 내가 생각하는 도구 메뉴에서 파일 소유자 창을 엽니 다.

  5. Cntrl + 파일 소유자 창에서 파일 소유자 선택을 클릭하십시오. 일련의 인터페이스 옵션이있는 검정색 창이 나타납니다. 작은 검은 색 원이 someMethod 옆에 나타납니다.

  6. 작은 검정색 원 (파란색 선이 나타남)을 메서드에 연결할 단추 위로 끌어 놓습니다. 다른 메뉴가 나타납니다. 적절한 조치 (터치 또는 이와 비슷한 것)를 선택하십시오. 두 번째 단추에 대해 반복하십시오.

  7. 각 버튼에 대한 IB에서 속성 목록의 속성 (내가 믿습니다)에 태그를 지정합니다. Tools (도구) 메뉴 아래에서 Properties (속성) 창이 다시 필요합니다. 태그 섹션으로 이동하여 각 버튼에 다른 태그를 지정하십시오. (1, 2, 3 ... 등).

  8. .m 파일에서 메소드를 구현하십시오. 당신이 즉, 사용자가 선택하는 버튼에 대한 당신의 행동을 차별화 한 경우 (sender.tag == 1) {...} 다른 경우 (sender.tag == 2) {...}

저장하고 실행하십시오.

끝.

관련 문제