我尝试将单元格上的图片视为圆圈 我不能。 我最近来的是这个椭圆
这是我的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
cell.imageView.clipsToBounds = YES;
cell.imageView.layer.cornerRadius = cell.imageView.frame.size.width / 2.0;
cell.imageView.layer.borderWidth = 2.0;
cell.imageView.layer.borderColor = [UIColor blueColor].CGColor;
cell.imageView.image=[UIImage imageWithData:[picCoreData valueForKey:@"image"]];//i get the picture from core data.
return cell;
}
答案 0 :(得分:0)
imageView正确的框架。试试这个:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
CGSize itemSize = CGSizeMake(40, 40);
UIGraphicsBeginImageContextWithOptions(itemSize, NO, UIScreen.mainScreen.scale);
CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);
[cell.imageView.image drawInRect:imageRect];
cell.imageView.clipsToBounds = YES;
cell.imageView.layer.cornerRadius = itemSize.width / 2.0;
cell.imageView.layer.borderWidth = 2.0;
cell.imageView.layer.borderColor = [UIColor blueColor].CGColor;
cell.imageView.image=[UIImage imageWithData:[picCoreData valueForKey:@"image"]];
UIGraphicsEndImageContext();
return cell;
}
答案 1 :(得分:0)
我通过提供硬编码值创建了精确的圆形图像视图。就像我的图像视图是30,我给15和圆矩形产生。因为字幕是预定义的单元格样式类型,并且其中的图像视图是可选的,在必要时创建所以当您检查cellForRowAtIndexPath中的图像视图的大小时,它给出零大小。它在初始化imageView后创建它。你必须给出恒定的半径然后它会产生圆角。
使用此代码。
iOS UITableViewCell cell.imageView setting rounded corner
如果单元格在上面的代码中为nil,也会初始化单元格。
答案 2 :(得分:0)
我得到了解决方案,请尝试以下编码
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 60;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *str = @"cell";
UITableViewCell *cell = [tableViewImageView dequeueReusableCellWithIdentifier:str];
if(cell==nil)
{
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:str];
}
UIImageView *imageRound = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];
imageRound.layer.masksToBounds = YES;
imageRound.layer.cornerRadius = 25;
imageRound.layer.borderWidth = 2.0;
imageRound.layer.borderColor = [UIColor blueColor].CGColor;
[cell.contentView addSubview:imageRound];
cell.imageView.image = [UIImage imageNamed:@"give your image name here"];
return cell;
}
谢谢 - :)