我試圖將圖像添加到我的UISegmentedControl中,但圖像總是自動拉伸以填充整個控件(請參見圖片)。我目前通過調用setImage:forSegmentAtIndex:來設置圖像。如何設置圖像以保持其縱橫比?這似乎應該是一件容易的事情,但我一直無法弄清楚。UISegmentedControl中的拉伸圖像
回答
當設置你的形象,使用:
UIImage *myNewImage = [myOldImage resizableImageWithCapInsets:UIEdgeInsetsMake(top, left, bottom, right)];
[segment setImage:myNewImage forSegmentAtIndex:i];
哪裏top, left, bottom, and right
是你願意拉伸圖像的邊緣。如果您不想要任何可拉伸區域,請使用UIEdgeInsetsZero
。
我試過'UIEdgeInsetsZero',現在圖像根本不顯示。 – shoopdelang
我試過了,它似乎沒有區別。 – shoopdelang
非常相似,道爾頓的答案,雖然我建立我在界面生成器視圖,因此不得不更換圖片,這樣的事情:(這是你描述)
self.codesDisplaySegment.contentMode = UIViewContentModeCenter;
for (int ii = 0 ; ii < self.codesDisplaySegment.numberOfSegments ; ++ii)
{
UIImage *img = [self.codesDisplaySegment imageForSegmentAtIndex: ii];
img = [img resizableImageWithCapInsets: UIEdgeInsetsZero];
[self.codesDisplaySegment setImage: img forSegmentAtIndex: ii];
}
這樣做可以解決我的問題
這調整了我的圖像大小,但然後我的圖像變得偏離中心 – Rick
您可以使用下面的代碼來設置保證金在你的形象,當你設置圖像:
yourSegmentedControl.setImage(yourImage.resizableImage(withCapInsets: .init(top: 0, left: 10, bottom: 0, right: 10), resizingMode: .stretch), forSegmentAt: 0)
你可以改變的「頂」,「左」的價值觀, 「底部」和「正確」,如你所願。這對我有用,我希望它會有幫助!
- 1. 拉伸圖像
- 2. 拉伸圖像
- 3. ResponsiveSlides.js拉伸圖像
- 4. 拉伸圖像CSS?
- 5. 圖像被拉伸
- 6. 圖像被拉伸
- 7. 圖像拉伸並居中?
- 8. 在Java中拉伸圖像
- 9. 在ASP.NET中拉伸圖像
- 10. 可拉伸的UIButton圖像
- 11. WPF中的圖像控件當拉伸設置爲無時拉伸圖像
- 12. Android中的ViewPager中的圖像拉伸
- 13. UIBarButtonItem的設置圖像 - 圖像拉伸
- 14. 在cell.background視圖中拉伸圖像
- 15. 在桌面視圖中拉伸圖像
- 16. Supersized - 如何拉伸圖像?
- 17. 拉伸iOS背景圖像
- 18. Overwide網頁,圖像拉伸?
- 19. 圖像拉伸在ios
- 20. UINavBar拉伸圖像邊緣
- 21. 圖像不拉伸imageView android
- 22. 按鈕圖像拉伸
- 23. 拉伸圖像高度css
- 24. iPhone:拉伸梯度圖像
- 25. 背景圖像拉伸
- 26. RibbonControl正在拉伸圖像
- 27. abcpdf HTML圖像拉伸
- 28. 拉伸圖像只有大
- 29. 如何拉伸圖像
- 30. 如何拉伸SVG圖像?
我有相反的問題。我試圖讓我的圖像拉伸,而現在只是居中 –