1
var heightIncrease: CGFloat = 38.0
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.transform = CGAffineTransformMakeTranslation(0, -heightIncrease)
}
override init(frame: CGRect) {
super.init(frame: frame)
}
override func sizeThatFits(size: CGSize) -> CGSize {
var newSize = super.sizeThatFits(size)
newSize.height += heightIncrease
return newSize
}
override func layoutSubviews() {
super.layoutSubviews()
for view in self.subviews {
if (NSStringFromClass(view.classForCoder).containsString("UINavigationBarBackground")) {
view.frame.origin.y = self.bounds.origin.y + heightIncrease - statusBarHeight
view.frame.size.height = self.bounds.size.height + statusBarHeight
}
}
}
var statusBarHeight: CGFloat {
return UIApplication.sharedApplication().statusBarFrame.size.height
}
を今、私はその底部にXIBからビューを追加したいです。私が最初に考えたのは、このような何かをすることでした。
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.transform = CGAffineTransformMakeTranslation(0, -heightIncrease)
if let accessoryView = NSBundle.mainBundle()
.loadNibNamed("NavBarAccessoryView", owner: self, options: nil)
.first as? NavBarAccessoryView {
accessoryView.frame.size.width = self.bounds.size.width
accessoryView.frame.origin.y = 75
self.addSubview(accessoryView)
}
}
それだけで絵であるかのように、それはだ、それはOKに見えますが、私はセグメント化されたコントロールでセグメントを選択することはできません。
これを行うより良い方法はありますか?もし愚かな質問や、私の試みが意味をなさない、私はこれで新しく、これまでのところ私はインターフェイスビルダーからの意見やものだけを扱ったことは申し訳ありません。
が、私の主な問題は、ナビゲーションバーに追加されていますので、私はこのようなインスタンスを取得することができます
}
を。 – dbmrq