질문이 있습니다. 나는 같은 화면에 UITableView
및 자세히보기 (기본적으로 세부 정보를 표시하는 또 다른보기 컨트롤러)가있는보기 컨트롤러가 포함 된 ipad 응용 프로그램이 있습니다. -didSelectRowAtIndexPath
이 실행될 때 UITableView
의 행 데이터를이 상세보기로 전달해야합니다. 이 작업을 수행하는 방법을 모르겠습니다. 이 작업을 수행하는 방법에 대한 모든 도움말/포인터/샘플 코드? 사전UITableView에서 동일한 화면의 다른 UIViewController로 데이터를 푸시
1
A
답변
1
에 도움을
덕분에 jQuery과 뷰 컨트롤러의 대리인을 정의하고 상세 뷰 컨트롤러에서 구현합니다. didSelectRowAtIndexPath가 호출되면 행 데이터를 상세보기 컨트롤러에 전달하여 대리자 메서드를 호출합니다.
대리인의 정의는 같은 모양 :
@class MyTopLevelViewController;
@protocol MyTopLevelViewControllerDelegate <NSObject>
-(void)showDetail:(DetailObject *)detail;
@interface MyTopLevelViewController : UIViewController
@property (nonatomic, weak) id <MyTopLevelViewControllerDelegate> delegate;
@end
및 상세 뷰 컨트롤러 헤더에 대리자를 추가 :
@interface MyDetailViewController : UIViewController <MyTopLevelViewControllerDelegate>
-1
당신은 다른 뷰 컨트롤러에 데이터를 전달하고자하는 경우 같은 화면에서 didSelectRowAtIndexPath를 사용하면 array를 "objectAtIndex : indexPath.row"와 같이 사용할 수 있습니다. 다음 코드는 도움이 될 수 있습니다 :
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
DetailFoodViewController *detailFoodViewController=[[DetailFoodViewController alloc] initWithNibName:@"DetailFoodViewController" bundle:nil];
JSCategory *jSCategory=[self.categoryResult.JSCategories objectAtIndex:indexPath.row];
detailFoodViewController.jsCategory=jSCategory;
detailFoodViewController.oldStoreLocationId=self.oldStoreId;
[self.view addSubview:detailFoodViewController.view];
[detailFoodViewController release];
}
관련 문제
- 1. 한 UIViewController에서 다른 UIViewController로 푸시 할 때 CATransition을 사용하여 화면의 일부분을 애니메이션으로 변환하는 방법
- 2. UITableVIew에서 UIViewController로 돌아 가기 버튼 IOS
- 3. indexPath.row를 다른 UIViewController로 보내십시오.
- 4. ListView와 동일한 화면의 TextView
- 5. UITableView에서 데이터를 업데이트하는 방법?
- 6. UITableView에서 현재 데이터를 저장하십시오.
- 7. uncessessary scroll없이 화면의 footer bottom 푸시
- 8. 한 UIViewController에서 다른 UIViewController로 전환하는 방법은 무엇입니까?
- 9. 프로그래밍 방식으로 다른 UIViewController로 이동하려면 어떻게해야합니까?
- 10. UIView 하위 클래스에서 다른 UIViewController로 이동하는 방법
- 11. iPhone - UIViewController에서 다른 UIViewController로 액션 보내기
- 12. 장치간에 데이터를 푸시 하시겠습니까?
- 13. iOS - 다른 탭에서 일부 탭의 두 번째 uiviewcontroller로 이동
- 14. UIButton을 클릭 할 때 한 UIViewController에서 다른 UIViewController로 리디렉션
- 15. touchesBegan을 UIScrollView에서 UIViewController로 전달하는 방법
- 16. MainWindows.xib의 UIViewController로 UINavigationController 바꾸기
- 17. 데이터를 플렉스 클라이언트에 푸시
- 18. 다른 컨트롤러의 UITableView에서 reloadData를 호출하십시오.
- 19. 동일한 UITableview에서 동적으로 생성 된 NSTimers?
- 20. DetailViewController는 항상 UITableView에서 다른 행을 클릭 할 때 동일한 내용보기를 표시합니다.
- 21. iPhone : TableView에서 UIViewController로 푸시하면 Tabbar가 숨김
- 22. UIView에서 UIViewController로 값 전달
- 23. 다른 컴퓨터 바탕 화면의 Message.show()?
- 24. 두 개의 서로 다른 URL을 사용하여 동일한 git 리모컨으로 푸시
- 25. 하나의 기본 레포에서 다른 서버로 푸시 - 동일한 서버의 기본 레포
- 26. 어떻게하면 UITableView에서 Excel로 데이터를 내보낼 수 있습니까?
- 27. 문제, 어떻게 uitableview에서 데이터를 다시로드하지 중지
- 28. UITableView에서 부모 클래스로 데이터를 전달하는 방법은 무엇입니까?
- 29. 동적 인 방식으로 UITableView에서 JSON 데이터를 인쇄하십시오.
- 30. 에 의해 다른 데이터를 테이블에 동일한 데이터를 비교하고 삭제 : Linq에
새로운보기 컨트롤러의보기를 표시하는 방법에 동의하지 않습니다. UIViewControllerContainment를 구현하고 있지 않다면 뷰 컨트롤러의 뷰를 다른 방식으로 서브 뷰로 추가하는 것은 좋지 않은 생각이며, 일을 혼란스럽게 만들 것입니다. 새로운 viewController를 모달로 표현하거나 푸시하는 것은 다른 viewController에서 viewController를 표시하는 더 좋은 방법입니다. 같은 시각에 있어야하는 경우 : 모순을 사용하십시오. – J2theC