2012-08-28 1 views
2

여기 저기 뛰어 다니고 여기에 대한 통찰력이 필요합니다.MWPhotoBrowser 닫기보기 컨트롤러가 분할보기에서 모달로 표시

개요 : 범용 앱. iPhone 부분은 잘 작동합니다. iPad 부분에는 분할보기 컨트롤러가 있습니다. 마스터는 사용자가 행을 선택하고 세부 정보 (오른쪽)를 표시하는 테이블 뷰 (왼쪽)입니다. 꽤 표준적인 것들.

Xcode 버전 4.4.1을 사용하고 있으며 프로젝트에서 핵심 데이터, 스토리 보드 및 ARC를 사용하고 있습니다.

DetailViewController : 자세한 내용은 사용자 정의보기로 날짜 별 사용자 메모의 다른 테이블보기 (세부 사항 내에서)를 표시하는 단추입니다. 각 음표에는 이미지와 연관된 이미지가있을 수 있습니다. 메모에 이미지가 있으면 사진 아이콘이있는 버튼이 표시됩니다.

예는이 시점까지 스크린 샷 :

Example screenshot 1

MWPhotoBrowser : 사진 아이콘의 버튼 내가 표시 (표준 방식으로 이미지를 표시 할 수있는 멋진 라이브러리) MWPhotoBrowser 전화를 누르면 이미지 또는 이미지. 한 번 탭하면 선택한 이미지가 표시되고 두 번 탭하면 현재 테이블의 모든 이미지가 표시되고 선택한 이미지가 먼저 표시됩니다. 이미지가 전체 화면으로 표시됩니다.

// Create the browser view. 
MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self]; 

// Set browser options. 
browser.wantsFullScreenLayout = YES; 
browser.displayActionButton = YES; 
[browser setInitialPageIndex:self.buttonRow]; 

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:browser]; 

[self presentModalViewController:navController animated:YES]; 

navController 날 doneButtonPressed를 호출하는 "완료"버튼을 탐색 컨트롤러를 포함 할 수 있습니다 :

은이 코드를 사용하여 사진 브라우저를 표시합니다.

문제 : 위의 모든 항목은 "완료"버튼을 누를 때까지 제대로 작동합니다. 전체 화면 사진 브라우저가 올바르게 닫힙니다. 안타깝게도 사용자가 사진 아이콘 버튼을 누른 위치의 오른쪽에있는 테이블보기가 사라졌습니다 (검정색). 나는 NotesViewController (오른쪽)가 사진 브라우저가 모달 해제 된 후에 거기에 남아있을 것이라고 생각했다. 분할 뷰에서 모델 뷰 컨트롤러를 호출하면 다른 뷰 컨트롤러가 삭제됩니까?

예시 화면 표시 문제 : 상세보기 버튼 (우측)에

enter image description here

스택은 DetailViewController가> NotesViewController를> 다음 MWPhotoBrowser에게 모달을 호출해야한다. 누군가가 나를 감싸 도움이 될 수 있습니다

- (void)doneButtonPressed:(id)sender { 

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 

    [self dismissViewControllerAnimated:YES completion:nil]; 
} 
. 
. 
. 

희망 : 사진 브라우저가 기각 내 self.navigationController.viewControllers.count 1에 해당하고 내가 여기 2.

것으로 기대 된 후 MWPhotoBrowser을 일축 코드입니다 이 주위에 내 머리.

항상 그렇듯이 도움을 주시면 대단히 감사하겠습니다. 감사!

답변

0

MWPhotoBrowser를 닫은 후 NoteViewController (검정 영역이 깜박임) 내 문제가 해결되었습니다.

viewWillAppear 내 테이블 뷰를 nil (셀 덮어 쓰기 방지) 및 테이블 데이터 다시로드로 설정했습니다.

self.tableView = nil; 

[self.tableView reloadData]; 

이것은 iPhone에서 잘 작동하며, MWPhotoBrowser의 전체 화면에서 iPad로 돌아 오지 않을 때 유용합니다. 이해할 수없는 몇 가지 이유 때문에 위의 코드로 인해 문제가 발생합니다. 전체 화면 표시에서 돌아 왔는지 확인하기 위해 추가 논리를 추가했습니다. 이제는 모두 정상입니다. 시간이 허락되면 더 자세히 살펴볼 것입니다.