2014-04-17 3 views
0

저는 프로그래밍에 특히 익숙합니다. 특히 iOS입니다. 따라서 나는 ADHD를 가진 아기 인 것처럼 대답해야합니다. 나는 무엇을 놓치고버튼을 사용하여 ViewController간에 전환 하시겠습니까?

ItemCreateViewController *itemCreateViewConrtoller = [[ItemCreateViewController alloc] init]; 


[[self navigationController] pushViewController:itemCreateViewConrtoller animated:YES]; 

:

이 내 buttonclick에있는 무엇인가?

+0

그래서이 버튼을 누르면 정확히 어떤 일이 발생합니까? 그리고 그 쟁점은 무엇입니까? –

+0

실제로 무슨 일이 일어나고 있는지에 대한 설명이 없으면 무엇이 빠졌는지 알기가 어렵습니다. –

+0

누락 된 부분은'ItemCreateViewController'에 내용을 추가하는 것입니다. 보기 컨트롤러의 콘텐츠를 어떻게 정의 했습니까? nib/xib 파일이나 스토리 보드를 사용하고 있습니까? 프로그래밍 방식으로 콘텐츠를 정의 할 수 있다는 사실을 알고 있습니다. 그러나 새롭게 등장한 것으로 보이지는 않습니다. 당신은 펜촉이나 스토리 보드에서 컨텐츠를 가져올 지에 따라보기 컨트롤러를 초기화하는 다른 방법을 사용해야합니다. – Paulw11

답변

0

버튼이 의도 된 동작을 유발하지 않는 원인은 여러 가지가 있습니다. 단추가 트리거 할 수없는 이유는 XIB 단추가 머리글 및 메서드 파일에 정의 된 단추 개체에 연결되어 있지 않기 때문입니다.

.h 파일을 보면 IBOutlet의 모든 항목을 보았을 때 가장 왼쪽 열에 원이 표시되어야합니다. 어두워지면 다른 방향으로 연결됩니다. 그렇지 않으면 연결해야합니다. XIB 파일.

이 당신이 그것을 이런 식으로 뭔가해야 선택기를 지정하는 코드를 표시하시기 바랍니다 문제가 아닌 경우 :

[cancel_button addTarget:self action:@selector(Cancel:) forControlEvents:UIControlEventTouchUpInside]; 

는 선택이 IBAction를 기능이 있는지 확인 -

-(IBAction)Cancel:(id)sender { 
[self dismissViewControllerAnimated:YES completion:NULL]; 
return; 
} 

가 한 가지 다른 점은 pushViewController 이후의 명령문은 뷰의 실제 변경 이전에 실행된다는 점입니다. 실제 뷰 변경은 IOS로 제어가 반환 된 후에 만 ​​발생합니다. 푸시보기 컨트롤러 명령이 긴 조건부 프로세스 내에 있고 반환/종료를 올바르게 코딩하지 못한 경우 중요합니다.

다음
ItemCreateViewController *itemCreateViewConrtoller = [[ItemCreateViewController alloc] initWithNibName:@"ItemCreateViewController" bundle:nil]; //Ensure you use correct nib file name 

당신이 그것을

[[self navigationController] pushViewController:itemCreateViewConrtoller animated:YES]; 

을 밀어 수 있지만 당신은 스토리 보드를 사용하고 있기 때문에 - 다음과 같이

0

당신이 두 번째보기의 XIB 파일을 사용하고 있기 때문에, 당신은 그것을 작성해야 스토리 보드에 새로운 뷰를 추가하고 버튼을 새로운 뷰에 연결하여 "푸시"세그먼트로 연결하면 모든 것이 완료되었을 것입니다.

관련 문제