我想動態調整一個UITableViewCell裏面的UIImage的寬度,我使用故事板來設計UITableViewCell,我只是添加了一個標籤和一個圖像,屬性得到正確更新,我甚至將寬度的值加載到標籤中以顯示它是正確的值,對於圖像,我加載了一個我想重複的背景圖像,但圖像不會最初更新寬度,如果我向上和向下滾動,圖像顯示爲預期的,這裏是對的cellForRowAtIndexPath的代碼,我也試着穿上willDisplayCell方法的代碼,相同的結果UITableViewCell與UIImage,寬度不更新在初始顯示的單元
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"mycustomcell"];
int r = [[data objectAtIndex:indexPath.row] intValue];
UIImageView *img = (UIImageView *)[cell viewWithTag:2];
img.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"some_img" ofType:@"png"]]];
CGRect frame = img.frame;
frame.size.width = r*16;
img.frame = frame;
int n = img.frame.size.width;
UILabel *label = (UILabel *)[cell viewWithTag:1];
label.text = [NSString stringWithFormat:@"custom %d", n];
[cell setNeedsDisplay];
return cell;
}
我只想要th最初工作是因爲它在滾動後工作,想法?
您是否在故事板中啓用了Auto Layout? –
您從不創建單元格 – vikingosegundo
@vikingosegundo如果使用單元格原型,則不必創建單元格。 'dequeueReusableCellWithIdentifier'將爲你創建它。 – Rob