В настоящее время в каждом из моих взглядов, я устанавливаю высоту моего сегментированного управления в viewDidLoad
случае, как это:Установленный размер для сегментированного управления глобально?
mySegmentedControl.frame = CGRect(
x: mySegmentedControl.frame.origin.x,
y: mySegmentedControl.frame.origin.y,
width: mySegmentedControl.frame.size.width,
height: 22)
Это работает, но это утомительно и надеялся, что я могу сделать это в AppDelegate.didFinishLaunchingWithOptions
:
var frame = UISegmentedControl.appearance().frame
UISegmentedControl.appearance().frame = CGRect(
x: frame.origin.x,
y: frame.origin.y,
width: frame.size.width,
height: 22)
Но это не имеет никакого эффекта или даже ошибки, оно остается высотой по умолчанию. Я даже пытался его подкласса, как это, но никакого эффекта или ошибки либо:
class SegmentedControl: UISegmentedControl {
override func sizeThatFits(size: CGSize) -> CGSize {
var sizeThatFits = super.sizeThatFits(size)
sizeThatFits.height = 22
return sizeThatFits
}
}
Есть ли что-то я пропускаю или способ установить высоту в глобальном масштабе?