2012-12-13 3 views
1

UIPopoverController에 표시하려고 시도한 UITableViewController가 있습니다. 무슨 일이 있어도 테이블 뷰는 항상 popover 내에서 전체 크기로 표시됩니다.UITableViewController를 Popover에 표시하기 위해 크기 조정

내 StoryBoard에서 나는 UITableViewController의 크기를 자유형으로 설정했습니다. 크기 검사기에서 UITableView의 높이와 너비를 명시 적으로 설정했습니다. 여기

은 어떻게 설정 컨트롤러와 팝 오버 : 나는 또한 명시 적으로 컨트롤러의 팝 오버 크기를 설정하려고했습니다

UIStoryboard* sb = [UIStoryboard storyboardWithName:@"MainStoryboard-iPad" bundle:nil]; 

self.settingsController = [sb instantiateViewControllerWithIdentifier:@"SettingsViewControllerID"]; 

self.settingsPopover = [[UIPopoverController alloc] initWithContentViewController:_settingsController]; 

:

self.settingsController.contentSizeForViewInPopover = CGSizeMake(400.0, 400.0); 

내가 응용 프로그램을 실행하고 팝 오버를 활성화 할 때 - 그것은 메인 스크린만큼이나 키가 크다.

내가 여기에 뭔가 분명한 것을 놓치고 있습니까? 사전에

감사합니다, CS

있는 UITableViewController는 항상 (윈도우의 특별한 종류) 전체 윈도우의 크기, 팝 오버가되고 싶어

답변

0

. 더 작은 테이블 뷰를 원할 경우 UIViewController를 대신 Popover의 콘텐트 컨트롤러로 사용하십시오. 그런 다음 IB에서 크기를 조정할 수 있어야합니다.

+0

어디에서 문서를 말하는가? :) 고마워. – RobertJoseph

+1

"iOS 용 Table View 프로그래밍 가이드"에 있습니다. 다음은 컨트롤러에 대한 섹션의 설명입니다. "UITableViewController 클래스의 기본 동작은 탐색 막대와 탭 막대 사이에 화면보기를 채우는 것입니다 (둘 중 하나가있는 경우). – rdelmar

3

아래 코드를 사용하여 tableView 크기를 변경할 수 있습니다.

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
     UIStoryboardPopoverSegue *popoverSegue; 
     popoverSegue = (UIStoryboardPopoverSegue *)segue; 
     UIPopoverController *popOverController = popoverSegue.popoverController; 
     [_popOverController setPopoverContentSize:CGSizeMake(width, height)]; 
}