簡體   English   中英

如何以編程方式將我的UIButton圖像設置為“重繪”?

[英]How to programmatically set my UIButton image to 'redraw'?

我正在為我的應用程序使用一些矢量圖形(.png)。 在photoshop中,我可以放大並始終看到簡單的幾何形狀(如圓形)的清晰邊界。 但是,在我的iPhone上,相同的圖形看起來參差不齊且粗糙。 我發現如果將圖像填充類型更改為“重繪”,則可以解決此問題。

因此,有人可以確認在這種情況下使用重繪是否是正確的解決方案嗎? 另外,如何使通過程序定義的按鈕的圖像使用“重新繪制”而不是默認值(我認為是“填充”)?

這是我當前按鈕的代碼:

UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn1 setTitle:@"Cool title" forState:UIControlStateNormal];
[btn1 setFrame:CGRectMake(7, 7, 150, 160)];
[btn1 setImage:[UIImage imageNamed:@"myGraphic.png"] forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(selectFav) forControlEvents:UIControlEventTouchUpInside];
[_scroller addSubview:btn1];

刪除此行:

 UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];

添加此行:

 UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeCustom];

設置內容模式:

 [btn1 setContentMode:UIViewContentModeRedraw];

希望這能回答您的所有問題!

暫無
暫無

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

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