UISegmentedControl 中的宽高比适合图像

Gio*_*usa 1 uisegmentedcontrol ios swift

我有一个UISegmentedControl包含 4 个图像的控件。我希望这些能够与Aspect fit.

在按钮上button.imageView?.contentMode = .scaleAspectFit你可以做,但我似乎无法掌握这些imageView部分。

如何才能做到这一点?以编程方式或故事板并不重要,因此我们将不胜感激!

小智 5

您需要迭代segmentControl 内的所有UIImageView。

    segmentedControl.subviews.flatMap{$0.subviews}.forEach { subview in
        if let imageView = subview as? UIImageView, imageView.frame.width > 5 {
            imageView.contentMode = .scaleAspectFit
        }
    }
Run Code Online (Sandbox Code Playgroud)

解释:

imageView.frame.width > 5
Run Code Online (Sandbox Code Playgroud)

SegmentControl内部有许多不同的imageView,因此我们检查UIImageView的宽度以确保它是segment的图像。