私はUIApperance
自分の中で背景画像を設定するために使用していますUISegmentedControl
、次のように:
[[UISegmentedControl appearance] setBackgroundImage:normalBackgroundImage
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UISegmentedControl appearance] setBackgroundImage:selectedBackgroundImage
forState:UIControlStateSelected
barMetrics:UIBarMetricsDefault];
しかし、私の画像は標準UISegmentedControl
サイズよりも背が高いです。後で、次のようにコントロールのサイズを変更できるように、コントロールの背景画像を取得しようとしています。
UIImage *imageForHeight = [self.segmentedControl
backgroundImageForState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
このメソッド呼び出しはを返しますがnil
、その理由を一生理解することはできません。コントロールは実際に私が入れた画像を使用していますUIAppearance
。このメソッドが私の画像を返さない理由、またはセグメント化されたコントロールから背景画像を戻す別の方法を知っている人はいますか?