2013-01-22 2 views
1

내 앱에서 수행하려고하는 디자인의 종류는 현재 Test라는 다른 View 컨트롤러의 루트 컨트롤러 인 탐색 컨트롤러로 구성되어 있습니다. 테스트는 UITableView가 위쪽 절반에 있고 UIImageView가 아래쪽 절반에 있습니다. 네비게이션 컨트롤러의 결과로 상단에있는 네비게이션 막대에는 두 개의 버튼이 있습니다. 아래 링크의 이미지 (이미지를 직접 게시하는 평판 포인트가 없음)는 매우 분명합니다. 테이블보기에서 텍스트가 그대로 유지하지만버튼 선택에 따라 iOS 버튼 핸들러가 달라집니다.

http://i.imgur.com/GM5eH.png?1

내가, 내 디자인에 따라 버튼을 잠시 변경되는 이미지 뷰에서 이미지를 누를 때와 같은 방식으로되고 싶어, 그들은 전환됩니다 앞으로 완전히 다른 화면으로 예를 들자면 어떤 버튼이 눌러 졌는지에 관계없이 내 테이블 뷰는 옵션 1, 옵션 2 및 옵션 3으로 구성됩니다. 그러나 버튼 A의 옵션 1은 옵션 B와 다릅니다. 그리고 여기가 도전입니다 나를위한 것입니다. 버튼을 누를 때마다 이미지를 바꿀 수있었습니다. IBActionNavBarButonPressed를 사용하고 보낸 사람 태그를 기반으로 이미지를 스와핑하여이 작업을 수행했습니다. 불행히도 여기서부터 어떻게 진행해야할지 모르겠습니다. 예를 들어 여기에 다음 몇 개의 스크린이 있습니다. 하지만 선택 항목 A의 옵션 1 만 특정 화면으로 이동하는 등의 방법으로 전환/전환을 설정하는 방법은 무엇입니까? 내 이해에서, 나는 prepareforSegue와 navBarbuttonPress IBAction의 조합을보고 있지만 여전히 어떻게 작동하는지 확신 할 수 없다.

얘들 아, 나는 내가하려고하는 것이 확실하지만 객관적인 C에 익숙하지 않기 때문에 나는 그것을하는 법을 완전히 모른다. 본질적으로, 나는 논리가 (element.selected == 0) & & (IBActionProvider == 1) {performSegueWithIdentifier : @ "blah"sender.self]와 같은 것이되기를 바란다. 내 문제는 이것을 IBAction navBarButtonPressedMethod에 넣을지 아니면 didSelectRowAtIndexPath 메소드에 넣을 지 여부입니다.

오랜 질문에 대해 죄송합니다.

답변

0

먼저 다른 스토리 보드보기에 이름을 지정합니다. 왼쪽 패널 (스토리 보드 식별자 :)이 포함되어 있습니다.

모든 버튼에 대해 segue를 만들어 식별자를 지정해야합니다.

그럼 당신은 내 질문에 대답하지 않습니다이

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([[segue identifier] isEqualToString:@"ToContacts"]) 
    {  
     // Get reference to the destination view controller 
     ContactVC *targetVC = [segue destinationViewController]; 
     // Pass any objects to the view controller here, like... 
     targetVC.CompanyNme = selectedRowValue; 
    } 
    if ([[segue identifier] isEqualToString:@"ViewCompany"]) 
    { 
     ContactVC *targetVC = [segue destinationViewController]; 
     targetVC.CompanyNme = selectedRowValue; 
    } 
} 

@"ToContacts" means your storyboard identifier. 
+0

이 같은 prepareforSegue를 사용해야합니다. 나는 segue하는 법을 압니다. 그러나 중요한 것은 다음과 같습니다. 1) 줄을 두 드릴 때 segue가 발생합니다. 디자인은 테이블 뷰가 눌려진 버튼에 관계없이 동일한 옵션으로 구성되지만 하단의 이미지는 변경됩니다. 2) 예를 들어, 테이블보기의 첫 번째 행을 두드리는 경우, 어떤 버튼이 탭되었는지에 따라 세그가 다르기 때문에 어떤 버튼을 탭했는지 파악하는 것이 중요합니다. –

+0

변수 호출을 값으로 작성하십시오. EX : int btnSelect = 0; 그런 다음 옵션을 클릭하면 각기 다른 값이 부여됩니다. EX (옵션 1 : btnSelect = 1, 옵션 2 : btnSelect = 2, 옵션 3 : btnSelect = 3). 그런 다음 didSelectRowAtIndexPath를 사용하면 선택한 옵션을 다른 화면으로 전달할 수 있습니다. – Himesh

+0

흠, 이건 여전히 내가하려는 일에는 적용되지 않습니다. 이미지를보세요. 내 segue 두 가지 다른 것에 따라 달라집니다 : 선택된 단추 및 테이블보기의 행이 선택됩니다. 내가 말했듯이, 나는 이것을 달성하려고 노력하고있다 : f (element.selected == 0) && (IBActionProvider == 1) {performSegueWithIdentifier : @ "blah"sender.self] IBAction navBarButtonPressedMethod를 사용하거나 didSelectRowAtIndexPath 메서드에 넣으십시오. –

관련 문제