2013-04-30 1 views
1

내 응용 프로그램에서 나는 테이블보기가 있습니다. 예를 들어, 상단에 탐색 모음이있는 표보기에서 10 행의 데이터가 있다고 가정 해 보겠습니다. 세로 모드로 앱을 실행합니다. 나는 10 개의 행을 본다.세로에서 가로로 회전 XCode 테이블보기 첫 번째 행을 숨기기

이제 iPad를 가로 모드로 회전합니다. 나는 단지 9 개의 행을 본다. 1 행은 상단의 탐색 툴바 아래에 숨겨져 있습니다.

다시 세로로 회전 시키면 9 행만 볼 수 있습니다. 1 행은 여전히 ​​탐색 바 아래에 숨겨져 있습니다. 나는 테이블 뷰를 드래그하여 첫 번째 행을 봅니다. 그래서 내 질문은 가로 세로에서 가로 세로로 바뀌어도 10 행을 모두 볼 수 있도록 변경해야합니다. tableview하지만 행운을 위해 setFrame 값을 변경하려고했습니다. 더 많은 정보가 필요하면 ask.Thanks 부탁드립니다.

+0

질문을 편집하려고하면 따라하기가 어렵습니다. –

+0

@SpaceDust. 나는 그것을 바꿨다. 그게 도움이 되니? – RookieAppler

+0

은 탐색 모음 스택에서 가져온 탐색 모음입니다. 아니면 탐색 막대를보기로 드래그 했습니까? –

답변

0

완전한 답을 갖고 있지는 않지만 왜 첫 번째 행이 탐색 바 아래로 이동하는지 알지 못합니다. 추가 코드 나 스크린 샷을 제공해야 할 수도 있습니다. 최악의 경우 내가 중 하나의 tableview를 그룹화하고 정렬 할

-(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section 또는 내가 끌어있는 tableview 이상에 인터페이스 빌더에서 객체에서 더미보기 드롭 것, 그런 식으로 첫 번째 행은 탐색 아래에 갈 수 없었다 바.

어쨌든 모든 행을 세로 및 가로로 표시해야하는 경우 방향 변경을 감지하고 행 높이를 작게 또는 크게 설정할 수 있습니다.

viewWillAppear 함수

-(void)viewWillAppear:(BOOL)animated{ 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];} 

배향 변화의 통보를 추가이 함수 께 방향에 따라

- (void)orientationChanged:(NSNotification *)notification{ 
    [self.tableview reloadData]; 
} 

변경 행 높이를 통지하고 배향

//row height 
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
if (orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown) 
{ 
    //portrait mode view 
    return 40.0; //play with the value according to your needs 
} 
else if (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight) 
{ 
    //landscape view 
    return 30.0; //play with the value according to your needs 
} 

} 
변화 할 때 열을 수축
+0

감사합니다. 그러나 그것은 효과가 없었습니다. 내 첫 번째 행은 여전히 ​​숨겨져 있습니다. – RookieAppler

+0

일종의이 일을 : UIEdgeInsets inset = UIEdgeInsetsMake (44, 0, 0, 0); \t \t self.tableView.contentInset = inset; 맨 위 행이 더 이상 숨기지 않습니다. 하지만 때로는 맨 위에 빈 줄이 나옵니다. 그러나 풍경과 인물 사이를 이동하면 사라지고 10 열을 모두 볼 수 있습니다. – RookieAppler

+0

나는 그것이 일어나지 않아야하는 이유를 잘 모른다. 당신의 탐구에 행운을 빈다. :) –

관련 문제