2015-08-03 1 views
0

В настоящее время в каждом из моих взглядов, я устанавливаю высоту моего сегментированного управления в 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 
    } 
} 

Есть ли что-то я пропускаю или способ установить высоту в глобальном масштабе?

ответ

0

Может быть так:

UIFont *font = [UIFont boldSystemFontOfSize:14.0f]; 
NSDictionary *attributes = [NSDictionary dictionaryWithObject:font 
                 forKey:NSFontAttributeName]; 
[segmentedControl setTitleTextAttributes:attributes 
           forState:UIControlStateNormal]; 

 Смежные вопросы

  • Нет связанных вопросов^_^