2014-08-31 3 views
0

여기 iOS 프로그래밍을 처음 접하는 분도 많습니다. iOS 7에서 완벽하게 작동하지만 iOS 8에서는 손상된 것으로 보이는 UITableView를 사용하십시오. 여러 장치. 시뮬레이터 (iOS 7 대 iOS 8 시뮬레이터)를 사용할 때도 동일한 문제/차이점을 보여줍니다.UITableView는 iOS 7에서 작동하지만 iOS 8에서는 깨지기도합니다.

나는이 문제를 보여주기 위해 간단하고 가능한 한 완전한 코드를했습니다 5.

엑스 코드 6 베타 6, 요세미티 베타 6, 아이폰 OS 7.12 및 iOS 8 베타 오전 :

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
     // Return the number of sections. 
     return 1; 
    } 

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
     // Return the number of rows in the section. 
     return [self.numberOfDays count]; 
    } 

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

     static NSString *CellIdentifier = @"Cell"; 

     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier ]; 

     NSLog (@"%li", (long)indexPath.row); 

     UILabel *label; 
     label = (UILabel *)[cell viewWithTag:1]; 
     label.text = @"Monday"; 

     return cell; 
    } 

내 NSLog 문에 유의하십시오. 내 UIViewTable (0-87)에는 88 개의 행이 있습니다.

    • 아이폰 OS 7이 테이블로드 ... 내 콘솔 (12 개) 라인을 얻을
    • 그 볼 행의 초기 번호로부터 수
    • 표 멋지고 매끄러운 두루마리 ... 세상 모든 것이 훌륭합니다.
    • 아이폰 OS 8이 테이블로드 ... 어쨌든 나에게,
    • 의 초기 모양을 이해가되지 않습니다 내 콘솔
    • 을 88 개 라인을 얻을 표는 좋아 보인다.
    • 예. 처음 12 행이 올바르게 표시됩니다.
    • 테이블이 올바르게 스크롤되지 않습니다.
    • 행 12-87은 약 1 픽셀 높이로 표시됩니다. I 그것을 통해 이동하려고까지

테이블의 초기 외관 OK (예를 들면, 제 12 개 행이 올바르게 표시) 보인다. 그런 다음 12-87 행은 약 1 픽셀 높이로 보입니다.

제발 도와주세요!

확인 - 다음과 같이 간단하게 추가 할 수 있습니다 : tableView.rowHeight = 44; 내 정적 NSString * CellIdentifier = @ "셀"; 선. 내가 필요하지 않은이 아이폰 OS 7, 나는 아이폰 OS에 8

답변

1

확인을 필요하지 않도록하는 이유 - 그것은 추가로 간단했다 :

tableView.rowHeight = 44; 

static NSString *CellIdentifier = @"Cell"; 
을 한 후

행. iOS 7이 필요하지 않았습니다. 왜 iOS 8에서 필요로하는지 확신 할 수 없습니다.

1

귀하의 솔루션은 작동 할 수 있지만, 내가 아이폰 OS 7과 8의 차이는 아마도 다른 사람이 그 일부 빛이 창고 수있는 이유를 전혀 몰라 heightForRowAtIndexPath 방법

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; 
{ 
     return 44; 
} 

을 구현하기 위해 더 좋을 것이다?

관련 문제