前言
在cell中有一個imageView屬性籍铁,可以設(shè)置每一個cell左邊顯示的圖片拱雏。而默認的圖片大小是根據(jù)cell的高度而決定的,我們并不能直接通過改變imageView.frame屬性來達到改變圖片大小的目的,因為這是一個readonly屬性皇帮。
- 錯誤提示
- 正常設(shè)置圖片
- 高度跟行高一樣
cell.imageView.image = [UIImage imageNamed:@"Dog4.jpg"];
- 通過以下的代碼來設(shè)置cell的imageView
- 來實現(xiàn)改變image的大小
UIImage *image = [UIImage imageNamed:@"Dog4.jpg"];
CGSize imageSize = CGSizeMake(80, 80);
UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0.0);
CGRect imageRect = CGRectMake(0.0, 0.0, imageSize.width, imageSize.height);
[image drawInRect:imageRect];
cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsGetImageFromCurrentImageContext();
最后
注意先簽<UITableViewDataSource>協(xié)議匈睁,然后設(shè)置代理监透,最后實現(xiàn)協(xié)議中下面這個方法
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
- 完整代碼
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *reusableIdentifier = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reusableIdentifier];
// 如果cell為nil,代表沒有可重用的cell航唆,需要創(chuàng)建
if (nil == cell) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:reusableIdentifier] autorelease];
}
// subtitle樣式,上方的label
cell.textLabel.text = [NSString stringWithFormat:@"init : %ld", indexPath.row];
// subtitle樣式胀蛮,下方的label
cell.detailTextLabel.text = [NSString stringWithFormat:@"Reusable : %ld", indexPath.row];
// 設(shè)置image的大小
UIImage *image = [UIImage imageNamed:@"Dog4.jpg"];
CGSize imageSize = CGSizeMake(80, 80);
UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0.0);
CGRect imageRect = CGRectMake(0.0, 0.0, imageSize.width, imageSize.height);
[image drawInRect:imageRect];
cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsGetImageFromCurrentImageContext();
return cell;
}