簡體   English   中英

即使在運行時設置UIImage,如何在UIImageView上做彎角?

[英]How to do curved corners on UIImageView even when setting the UIImage at runtime?

我在StackOverflow上找到了有關如何在UIImageView上做彎角的示例,當我在Xcode gui構建器工具中設置圖像時,這種方法很好用。 然后,當我添加一些代碼以在運行時更改圖像時,彎角僅部分起作用。

這是我用來嘗試實現彎角的代碼:

thumbnail.image = [UIImage imageNamed:self.video.thumbnailFileName];
thumbnail.contentMode = UIViewContentModeScaleAspectFill;
thumbnail.clipsToBounds = YES;

// round the corners:
thumbnail.layer.cornerRadius = 10.0;
thumbnail.layer.masksToBounds = YES;

// add a border:
thumbnail.layer.borderColor = [UIColor lightGrayColor].CGColor;
thumbnail.layer.borderWidth = 3.0;

之前:通過Xcode中的gui構建器設置圖像時: 之前:通過Xcode中的gui構建器設置圖像時。

之后:以編程方式設置UIImage。 請注意,彎角看起來很糟糕: 之后:以編程方式設置UIImage。請注意,彎角看起來很糟糕。

應用中使用的原始PNG圖片: 應用中使用的原始PNG圖片。

這里的問題是一系列奇怪的巧合...

第一個問題是我一次擁有該映像的兩個版本,並且以某種方式仍將我的第一個版本轉移到我的應用程序捆綁包中(或從以前的調試版本放到我的應用程序捆綁包中)。 自那以來,第一個是不同的,並且沒有正確地與彎角對齊。 因此,一旦我清理了構建,原始文件就消失了。

第二個問題是第二個文件的文件名略有不同,我沒有注意到,因此這是我無法正常運行的第二個原因。

所以...代碼是正確的,只是我的圖像文件有問題! 對困惑感到抱歉。

對於任何想在UIImageView上弄圓角的人,請注意,您需要導入

#import <QuartzCore/QuartzCore.h> 

首先...使用圖層屬性。

看來圖層順序出錯了。 現在,在角落處四舍五入的圖像現在看起來是在邊框上方而不是下方。

我在層上很虛弱,但是有一個猜測:顛倒您的操作順序。

暫無
暫無

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

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