我在Xcode圖像目錄中使用切片時遇到問題。我在資產目錄中有圖像,在該目錄中名爲「SquareReactionButtonCrisp」的圖像。在我的xib中,我引用這個名稱來將其設置爲背景。然而,當我調整xib中的這個按鈕並重建時,圖像被拉伸而不是從切片線擴展。有任何想法嗎? 附上截圖。 謝謝, 山姆XCode images.assets資產目錄切片被忽略,圖像仍然存在變形
2
A
回答
6
資產編目和Xcode 5推出,但使用您的部署目標必須設置爲iOS7資產類別的圖像切片功能。如果你的目標設置爲iOS 6,這可能是你的問題的原因。查看類似的帖子,其中人回答了自己的問題。 How do you use an asset catalog image's slicing information programmatically?
2
我與iOS 6/7兼容的解決方案是在Xib文件中使用用戶定義的運行時屬性。因此,我們不必在源代碼中的任何地方編寫不雅的線條,以便用帶有可縮放圖像的按鈕的帽符替換xib中設置的圖像。
步驟1:在Xib中,選擇按鈕並在Identity Inspector面板中設置用戶定義的運行時屬性。您可以定義一個用於設置帽符的屬性。例如,一個名爲「capEnabled」的屬性只有一個簡單的布爾值,表示我們想要爲按鈕使用默認的頂點插入符。 (我打算附上屏幕截圖,但我被告知需要至少10個聲望才能發佈圖像... :-()
第2步:在UIButton上創建一個類別並添加一個屬性「capEnabled」並實現getter setter方法
@interface UIButton (NBAHelper)
@property (nonatomic, assign) BOOL capEnabled;
@end
@implementation UIButton (NBAHelper)
-(BOOL)capEnabled{
UIImage *buttonBackgroundImage = [self backgroundImageForState:UIControlStateNormal];
CGFloat capLeft = buttonBackgroundImage ? buttonBackgroundImage.capInsets.left : 0;
return capLeft>0;
}
-(void)setCapEnabled:(BOOL)capEnabled{
if (capEnabled) {
UIImage *buttonBackgroundImage = [self backgroundImageForState:UIControlStateNormal];
if (buttonBackgroundImage) {
[self setBackgroundImage:[buttonBackgroundImage stretchableImageWithLeftCapWidth:5 topCapHeight:5] forState:UIControlStateNormal];
}
}
}
@end
第三步:。導入類的頭文件中無處不在,你想用的UIButton的您創建的新功能,或者乾脆將它導入.PCH文件
希望我的解決辦法是
相關問題
- 1. Android:.nomedia被忽略,圖像仍然出現在畫廊
- 2. 如何檢查Xcode資產目錄中是否存在圖像?
- 3. Spritekit中的資產目錄圖像切片
- 4. 圖像資產目錄顏色不變
- 5. 如何以編程方式使用資產目錄圖像的切片信息?
- 6. .gitignore仍然忽略刪除的項目
- 7. resizableImageWithCapInsets /資產目錄切片混淆的單位和像素
- 8. 回形針加載資產/圖像目錄中的圖像
- 9. 我被切換到USPS生產帳戶仍然存在問題
- 10. og:圖片被忽略
- 11. 目錄被「setup.py」忽略
- 12. 資產目錄Xcode 6.1.1啓動圖像肖像
- 13. Xcode資產目錄:每張圖片只有一個副本
- 14. 陣列儘管被忽略,仍然打印內存地址
- 15. Git仍然試圖推送被忽略和刪除的文件
- 16. 與資產目錄切片的iOS圖像創建奇怪的文物
- 17. OG:圖像被忽略
- 18. 變焦忽略圖片
- 19. 在Xcode中將一個資產目錄中的圖像集合複製到另一個資產目錄
- 20. 的Xcode 5資產目錄:什麼是「默認」設置圖像
- 21. Xcode 7,資產目錄通用設備背景圖像支持?
- 22. AndroidManifest在androidTest目錄被忽略
- 23. 在運行時在資產目錄中保存圖像
- 24. 忽略項目「其他包含目錄」被忽略
- 25. 緩存:true被資源忽略
- 26. Git忽略XCode構建目錄模式
- 27. Mod重寫調整忽略資產目錄
- 28. Laravel資產URL忽略HTTPS
- 29. 資產管道圖像子目錄heroku
- 30. Pythonpath仍然被忽略,無法在本地安裝pip
謝謝 - 這是問題 - 我是suppo在iOS 6中也一樣 - 已經計劃使用6個插槽(然後在幾個月內刪除,一旦ios 7接近幾乎全部)。他們應該更清楚地說明這一點。 –