2015-09-10 2 views
0

У меня возникли проблемы с добавлением ограничений на представления в моей пользовательской клавиатуре. Я упростил свою проблему здесь, просто заметьте, что я планирую добавить намного больше subviews, поэтому не беспокойтесь о том, что у моей клавиатуры нет кнопки «следующая клавиатура» или что-то в этом роде. То, что я хочу, чтобы убедиться, что черный квадрат всегда по центру зрения клавиатуры, где вид выглядит следующим образом: Keyboard ViewПроблемы с ограничениями с пользовательской клавиатурой

Без ограничений, я получаю это на iPhone4S-5: iPhone4s Preview

Какой именно то, что Я хочу. Проблема только в том, что на 6 я получаю следующее: iPhone6 Preview

Это явно не в центре, и мы не можем этого сделать. Поэтому я добавил некоторые ограничения на квадрат центра (ширина и высота = 90 и выровнялся по центру x и y супервизора), но затем я получаю это на iPhone4s: iPhone4s Preview2

И я получаю что-то подобное в каждом симуляторе. Я попытался настроить размер представления, когда он загружается из наконечника, но без кубиков. Как я могу центрировать эту площадь?

ответ

0

Я собирался с этим и нашел решение. Это связано с тем, когда вы загружаете наконечник в контроллер вида. Мой код, который выглядит следующим образом (решение только одна линия, отмеченная с комментарием)

var kView: UIView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    loadInterface() 
} 

func loadInterface() { 
    var kNib = UINib(nibName: "TrapType", bundle: nil) 
    kView = kNib.instantiateWithOwner(self, options: nil)[0] as! UIView 
    let screenSize: CGRect = UIScreen.mainScreen().bounds 
    //Below is the line that solved the problem. 
    kView.frame = view.frame 
    view.addSubview(kView) 
    view.backgroundColor = kView.backgroundColor 
} 

Из того, что я понимаю, self.view автомагически получает значение нужного размера, но подвидов вы можете добавить Дон» t имеют такую ​​же роскошь, что и установка рамки. Честно говоря, это то, о чем я, вероятно, должен был знать в первую очередь, но там у вас это есть.

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