2010-11-29 5 views
1

이 먼저보기의 첫 시작입니다 당신은 내가아이폰 : 이미지 또는 두 번째보기에서 첫 번째보기로 무엇을 반환하는 방법?

을 제시하는 것이 더 명확 원하는 무슨 사진을 확인하시기 바랍니다는

그것은 바로 바

에 추가 버튼이 빈 테이블보기

입니다

alt text

당신이 추가 버튼을 누르면이 두 번째보기로 밀어 버린다

두 번째는 불과 3 행 테이블 뷰

alt text

당신의 이름

alt text

보도 만듭니다을 설정할 수 있도록 그것은 경고보기를 나타납니다 첫 번째 행을 누르에게 있습니다 텍스트가 첫 번째 행에 나타납니다

< 그건 질문 1, 내가 어떻게 텍스트를 셀에 전달 해야할지 모르겠다. 먼저 라디오 버튼을 클릭하지 않는 한 난 ...>

그리고 앞으로 계속, 그건 그렇지 않으면 당신이 methord

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
를 호출 할 수 없습니다, 행 2 행 3

에서 사용자 지정 라디오 버튼의

이 두 가지보기 아이콘보기 1 alt text 아이콘보기 2 alt text

T 마지막 여기에 두 번째 질문이 있습니다 : 두번째 질문 : 이 버튼 중 하나를 누르면 두 번째보기로 돌아가서 두 번째 또는 세 번째 행에있는 버튼 아이콘을 표시합니다.

마지막으로 (오른쪽 줄에 같은) 버튼을 완료

그것은 먼저보기로 백업 및 이름을 입력 한 내용을 보여주고, 사용자가 선택한 아이콘있는 것 (라디오 버튼에 근거가 선택됩니다) 마지막 질문입니다

. 그래서

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    if (indexPath.row==0) { 
     [self nameInputAlertView]; 
    } 
    RadioButtonClass *btn = [radioButtonArray objectAtIndex:[indexPath row]]; 
    if (btn.selected) { 
     //Radio Button is selected ,use that icon 
     if (indexPath.row == 1) { 
      IconViewOne *iconViewOne = [[IconViewOne alloc]init]; 
      iconViewOne.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
      [self.navigationController pushViewController:iconViewOne animated:YES]; 
      [iconViewOne release]; 
     } 
     if (indexPath.row==2) { 
      IconViewTwo *iconViewTwo = [[IconViewTwo alloc]init]; 
      iconViewTwo.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
      [self.navigationController pushViewController:iconViewTwo animated:YES]; 
      [iconViewTwo release]; 
     } 
    } 
} 

... Link

당신은 그것을 다운로드 할 수 있습니다

을하고 여기에 내가보기를 밀어 방법에 대한 코드는 다음과 같습니다

여기 내 소스 코드를 업로드합니다. .. 모든 질문을 요약 해 ...

1. 텍스트 필드를 통해 텍스트를 테이블보기 셀로 경고하는 방법?

2. 마지막보기에서 두 번째보기로 아이콘을 어떻게 선택합니까? 우선보기에

3.Send 모든이 두 가지 요소 : 이름 & 아이콘

난 단지보기 2보기 1의 요소를 전달하는 방법을 알고 ... 다시 반환하는 방법을 몰라

......

감사 메이트는 아주 아주 감사합니다이 문제 야를 알아 내기 위해 좀 도와주세요 BTW

! 당신이 당신의 모든 프로젝트에 추가 할 라디오 버튼 클래스를 취할 수

,

답변

1

이것이 올바른 방법인지는 모르지만 이것이 도움이된다고 생각합니다. 두 뷰에서 이름과 이미지를 검색하려면 전역 적으로 액세스 할 수 있도록 appdelegate에 선언하십시오.

케 1 :

didSelectRow 대리자가 호출 될 행을 선택했을 때. 그러면 IndexPath를 얻을 수 있습니다. indexPath를 전역으로 저장하십시오. 그런 다음 AppDelegate에에서

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 
if ([alertView tag]==1) { 
    if (buttonIndex == 1){ 
     NSLog(@"Created"); 
     UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:tableIndexPath]; //tableIndexpath is declared globally as NSindexpath 
     ReturnToFirstViewAppDelegate *appObj=(ReturnToFirstViewAppDelegate *)[[UIApplication sharedApplication]delegate]; 
     appObj.selectedName = macroNameSetting.text; //Setting the Name globally 
     cell.detailTextLabel.text =macroNameSetting.text; 
     [self.tableView reloadInputViews]; 
    } 
    } 
} 

가야 2, 3

NSString *selectedName; 
UIImage *selectedImage; 

지정 속성을 선언하고 Viewcontro에서 그 (것)들에게 당신의 iconViews에서

- (void)setIcon : (id)sender{ 
    UIButton *button = (UIButton *)sender; 
    UIImage *selectedImg = [UIImage imageNamed:[NSString stringWithFormat:@"marco%d",button.tag]]; 
    ReturnToFirstViewAppDelegate *appObj=(ReturnToFirstViewAppDelegate *)[[UIApplication sharedApplication]delegate]; 
    appObj.selectedImage = selectedImg; 
// push your viewcontroller 
} 

를 합성 예를 들어 대한

- : 당신은 AppDelegate에 변수를 사용하는 것처럼 해달라고하면 어떤 경우

ReturnToFirstViewAppDelegate *appObj=(ReturnToFirstViewAppDelegate *)[[UIApplication sharedApplication]delegate]; 
//For example 
//cell.image = appObj.selectedImage; 
+0

감사합니다.나는 지금 당신의 대답을보고 있습니다. 나는 곧 이것을 시도 할 것입니다. 나는 당신의 대답에 투표합니다. –

+0

NSString * selectedName을 선언합니다. AppDelegate.h에서 여전히 오류가 발생했습니다 : 구조체 또는 공용체가 아닌 "selectedName"멤버에 대한 요청? –

+0

죄송합니다. # import "Appdelegate.h"를 잊어 버렸습니다. –

1

로 크 로스 액세스 그들, 당신은 네비게이션 컨트롤러의 경우에 사용할 수있는 다른 하나 개의 방법이있다. "IConViewOne.m"

UITableViewCell* cell = [[[self.navigationController.viewControllers objectAtIndex:1] tableView] cellForRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:0]] ; 
    cell.imageView.image=[UIImage imageNamed:[NSString stringWithFormat:@"marco%d.png",button.tag]]; 

에서 다음 SecondView의 "ViewWillAppear"에서 : -

[self.tableView reloadData]; 

유 줄 수있는 유사 RootViewController에 전달하는 : -

self.navigationController.topViewController.tableView 

또는

[[self.navigationController.viewControllers objectAtIndex:0]tableView] 
+0

해결책을 투표하십시오! 고마워요 –

+0

아직 마무리가 안된 것 같아요 ... 내가 편집을 끝내고 프로그램을 끝내면 어떻게 되나요? –

+0

u가 그 이름을 저장하고 아이콘을 선택한다고 말하면 .. "NSUserDefaults"또는 "Sqlite 데이터베이스에 저장 중"과 같은 somehting을 사용해야합니다. –

0

훌륭한 방법 수신자가 누구인지 알지 못하고 (그리고 정보에 관심이있는 여러 객체가있을 수 있음) 하나의 객체에서 다른 객체로 정보를 전송하는 것은 NSNotification을 게시하는 것입니다. 그것은 당신이 완전히 다른 물체에 대한 직접적인 지식을 피할 수있게합니다.

애플의 문서 Notification Programming Topics을 읽고 시도해보십시오.

+0

Thank You! Thank you! 친구 –

관련 문제