簡體   English   中英

IOS / Objective-C:在自定義單元中制作圓形圖像的代碼

[英]IOS/Objective-C: Code to Make Round Image in Custom Cell

將以下代碼放置在cellForRowAtIndexPath中時,可以很好地使正方形圖像變圓。

但是,當我將代碼移動到自定義單元格時,每次tableview更改時,它都會將圓一直擴展到整個表行,成為水平模糊。

在此處輸入圖片說明

 //following crops and rounds image

    CGSize itemSize = CGSizeMake(40, 40);
    UIGraphicsBeginImageContextWithOptions(itemSize, NO, UIScreen.mainScreen.scale);
    CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);

    [self.iconView.image drawInRect:imageRect];
    self.iconView.image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    self.iconView.layer.masksToBounds=YES;
    self.iconView.layer.cornerRadius=20.0;
    self.iconView.frame = CGRectMake(20, 20, 500, 50);

    //   [cell.iconView.image drawInRect:imageRect];
    //   cell.iconView.image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

在自定義單元格中,我將以下代碼放置在以下位置:

self.iconview.image = [UIImage imageNamed:@"test.jpg"];

有誰知道我該如何解決此問題並仍然使用自定義單元格? 在此先感謝您的任何建議。

問題是“當我將代碼移至自定義單元格時”的含義-您無需解釋。 但是問題在於iconView本身正在調整大小-它正在變寬。 如果您不希望發生這種情況,請給它不同的約束,以免發生這種情況。

您無需啟動圖像上下文並完全進入CoreGraphics。

我通過以下方式完成此任務:

imageView.image = myUIImage
imageView.layer.cornerRadius = imageView.bounds.size.width / 2

有一種簡單的方法可以在自定義單元格中制作圓形圖像:

imageView.layer.cornerRadius = imageDemo.frame.size.width / 2;

imageView.clipsToBounds = YES;

或點擊此鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM