0
다음 코드를 사용하여 팝업을 만듭니다. 가로 방향의 팝업 메뉴가 전체 화면을 차지합니다.
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"popover"]) {
self.popoverTvc = [segue destinationViewController];
self.popoverTvc.popoverPresentationController.delegate = self;
}
}
사용자가 탐색 모음에서 버튼을 클릭
는 팝 오버 스타일의 위 SEGUE가 트리거되고 결과보기 컨트롤러의 tableview를 가지고있다.문제는 세로 모드에서
는, 테이블 뷰의 크기가 사용할 수있는 내용의 크기에 따라입니다 것입니다. 그러나 가로 뷰에서 세로 뷰로 뷰를 변경하면 테이블 뷰에는 빈 셀이 표시되므로 빈 셀이 UI를 차단합니다. 왜 이렇게이다? 가로 모드에서도 전체 화면을 차단하지 않도록 tableview를 원합니다. 보기에 다음 코드를 사용하여
임 대신 size of table view is as per the size of the contents available.
의
if (self.tableView && self.presentingViewController) {
self.preferredContentSize = [self.tableView sizeThatFits:self.presentingViewController.view.bounds.size];
}
뿐만 아니라 크기가 180x128 – Roger
남아 무슨 일이 --- DVC 사용 후받은 오류입니다. preferredContentSize = [self.tableView sizeThatFits : self.presentingViewController.view.bounds.size]; --- 대신 dvc.preferredContentSize = CGSizeMake (180,128); –
보기를 가로로 변경하면보기가 전체 화면을 덮는 높이로 유지되므로 UI가 여전히 숨겨집니다. – Roger