Sta*_*ord 6 uisegmentedcontrol uiimageview uiimage ios swift
我很难在 UISegmentedControl 上制作图像保持它们的纵横比而不是向所有方向缩放。这是它的样子:

图像是 100X100(除了即将更换的 nr 6),我希望它们保持纵横比。
我试过了:
self.segment.contentMode = .ScaleAspectFit
//and:
self.segment.contentMode = UIViewContentMode.Center
Run Code Online (Sandbox Code Playgroud)
有没有办法我可以在段中定位 UIImageView ..那样我可以设置 contentMode..right?还是有另一种方法?
谢谢
小智 5
segmentedControl.subviews.flatMap{$0.subviews}.forEach { subview in
if let imageView = subview as? UIImageView, let image = imageView.image, image.size.width > 5 {
// The imageView which isn't separator
imageView.contentMode = .scaleAspectFit
}
}
Run Code Online (Sandbox Code Playgroud)
我没有找到如何将 contentMode 设置为 ScaleAspectFit,但您可以在设置图像时使用以下代码来设置图像周围的边距:
yourSegmentedControl.setImage(yourImage.resizableImage(withCapInsets: .init(top: 0, left: 10, bottom: 0, right: 10), resizingMode: .stretch), forSegmentAt: 0)
Run Code Online (Sandbox Code Playgroud)
您可以根据需要更改“顶部”、“左侧”、“底部”和“右侧”的值。这对我有用,我希望它会有所帮助!
| 归档时间: |
|
| 查看次数: |
1404 次 |
| 最近记录: |