iOS 8 Adaptive Cell 및 cell 재사용 문제
이 방법은cell의 예상 높이를 되돌려주는 데 사용됩니다. 만약에 프로그램에서 이 방법을 실현했다면tableview가 처음 불러올 때heightForRowAtIndexPath 방법을 사용하지 않고estimatedHeightForRowAtIndexPath로 예상 높이를 계산하여tableview의 총 높이를 계산한 다음에tablew가 나타날 수 있습니다.cell이 보일 때까지heightForRowAtIndexPath를 호출해서cell의 정확한 높이를 가져옵니다.
estimatedHeightForRowAtIndexPath
이 Delegate 방법은 테이블 뷰를 처음 불러오는 데 발생하는 성능 문제를 해결합니다.그러나 또 하나의 번거로운 문제는 셀이 불러오지 않았을 때 셀의 높이를 계산하는 것이다. 위에서 제시한 코드 중 NSString의 높이만 계산하면 적지 않은 코드가 필요하다.이런 계산은 사실상 필수적이다. 그러나 iOS 8에서부터 너는 이런 번거로운 계산 코드를 더 이상 쓰지 않아도 될 것이다!전제 조건은storyboard를 사용할 줄 알아야 한다는 것이다.
iOS 8에서 self size cell은 다음과 같은 메커니즘을 제공합니다. cell에 정해진 너비/높이가 있으면 autolayout은 자동으로 cell의 내용에 따라 대응하는 높이/너비를 계산합니다.보기:
***iOS 8 Adaptive Cell ***
.
2.cell 재사용 문제
홈페이지에서 그랬어요.
//if the cell is reusable (has a reuse identifier), this is called just before the cell is returned from the table view method dequeueReusableCellWithIdentifier:. If you override, you MUST call super.
- (void)prepareForReuse{
[super prepareForReuse];
}
***tableView 스크롤로 인한 데이터 혼란을 해결하고 다시 사용하려고 합니다. 스크롤에 데이터 착란이 발생하지 않도록 하기 위해서 당신은 그 안에 값을 nil로 설정할 수 있습니다. 예를 들어:***
self.timeLineBill = nil;
self.categoryImageBtn.imageView.image = nil;
cell을 사용할 때 네트워크로 사용할 때, 이전 네트워크 요청을 취소할 것을 통지해야 합니다.이cell에 데이터를 보내지 마세요. 다음 방법은identifier에 따라 간단하게 다시 사용할 수 있고 데이터가 복잡할 때 안 돼요.
static NSString *CellIdentifier = @"Identifier";
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.