xib 파일에 정의 된 사용자 지정 셀에 UITableView가 있고 셀에 UISegmentedControl이있을 때 내 장치에서 성능이 좋지 않은 (끊김) 현상이 발생합니다. NSLog 문은 셀을 할당하고 재사용하고 있음을 나타냅니다. cellForRowAtIndexPath 메서드에 대한 내 코드는 아래와 같습니다. Apple 설명서에 따라 xib에 연결됩니다. (스크롤 원활 BTW 시뮬레이터)UISegmentedControl 개체가있는 사용자 지정 테이블 뷰 셀의 스크롤 성능이 저하되는 이유는 무엇입니까?
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell =
[tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil)
{
[[NSBundle mainBundle] loadNibNamed:@"TableViewCell"
owner:self
options:nil];
cell = self.tvCell;
self.tvCell = nil;
}
cell.layer.shouldRasterize = YES; // build error is here
UILabel *lbl = (UILabel *)[cell viewWithTag:1];
[lbl setText:[NSString stringWithFormat:@"Q%i", indexPath.row+1]];
return cell;
}
노아, 추천 한 코드 줄을 추가 한 다음 레이어를 참조 할 수 있도록 QuartzCore 프레임 워크를 추가하면 빌드 오류가 발생합니다. "구조체 또는 공용체가 아닌 멤버에서 'shouldRasterize'멤버를 요청하십시오." . 이 두 줄의 코드를 작동시키는 데 필요한 것이 무엇인지 더 자세히 말씀해 주시겠습니까? – Alyoshak
.m에 #import가 없으면이 오류가 발생할 수 있습니다. 또한, shouldRasterize는 iOS 3.2 이상에서만 사용할 수 있습니다. –
예는 내 .m 파일에서 가져오고도 가져옵니다. 그러나, 아니, 3.2 (3.1.3 사용)를 사용하지 마십시오. 문제 여야합니다. 그래, iOS 3.2를 사용하여이 기기 (iPodTouch)를 타겟팅하는 데 성공하지 못했습니다. 코드 서명 오류 및 iOS 3.2와 관련된 또 다른 이상한 코드입니다. 둘 다 있습니다 : [BEROR] CodeSign 오류 : SDK 'Device - iPhone OS 3.2'의 'Application'제품 유형에 코드 서명이 필요합니다. [BWARN] 경고 : '대상 장치 제품군'이 iPhone 전용으로 설정된 건물 ('1 ')는 SDK'Device - iPhone OS 3.2 '에서 지원되지 않습니다. –
Alyoshak