2016-01-31 2 views
0

У меня есть пользовательский UIView, который я загружаю из xib-файла, при запуске в симуляторе вид, кажется, обрезается с правой стороны. Iv'e попытался изменить свойства в «view.autoresizingmask», однако играть с различными доступными опциями не помогает, также не решает проблему Работа с различными параметрами ограничения,Пользовательский UIView не подходит в границах экрана, Swift

код, который я использовал в быстром файле для моего вида в классе, как следует:

var view : UIView! 

override init(frame: CGRect) { 
    super.init(frame: frame) 
    loadViewFromNib() 
} 

required init?(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder) 
    loadViewFromNib() 
} 
func loadViewFromNib() { 
    let bundle = NSBundle(forClass: self.dynamicType) 
    let nib = UINib(nibName: "LeaderBoardView", bundle: bundle) 
    let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView 
    view.frame = bounds 
    view.autoresizingMask = [.FlexibleHeight, .FlexibleWidth] 
    self.addSubview(view); 

} 

This is an image of the xib file (Keep in mind the view that this xib is loaded into are the same dimensions as the file)

This image comes from the simulator and here you see how the view will not fit in the bounds of the screen.

SB: есть также небольшая проблема рендеринга, что происходит, Может быть, есть код, который может помочь решить эту проблему. Сообщение об ошибке выглядит следующим образом: «Не удалось отобразить экземпляр LeaderBoardView: рендеринг представления занял больше 200 мс. Код вашего рисунка может быть медленным.»

ответ

0

Не создавать вид в loadViewFromNib снова, вы уже добавили сверху, просто:

view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView 

и bundle может быть nil

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