I "私navigationBarに私は自分のデータベースを同期していますたびにrightButtonを無効にしようとしているメートル。私はnavigationBarをサブクラス化、私は少し上向きにアイテムを移動する必要があるため。スウィフトにUINavigationButtonを使用することはできません2.2
layoutSubviews中に右ボタンを無効にしようとしましたが、UINavigationButton型のUIViewを取得できました。UIViewをUINavigationButtonにキャストしようとすると、「UINavigationButton 'の宣言されていない型を使用しています。だから私は別のライブラリをインポートする必要があると思っていましたが、このクラスには到達できないようですか?誰かは何をインポートするか分かりませんか?
これは私の現在のアプローチです。文字列に、私はそれを使って移動する必要があるものを決定します。
let navigationBarItems = self.subviews
var lableInserted = false
var buttons:[UIView] = []
for navigationBarItem in navigationBarItems{
print(String(navigationBarItem.dynamicType))
if String(navigationBarItem.dynamicType) == "_UINavigationBarBackground"{
if syncBarDataSource != nil{
navigationBarItem.frame.origin.y = bounds.origin.y + CGFloat(syncBarDataSource!.barHeight) - CGFloat(maxHeight/2)
navigationBarItem.frame.size.height = bounds.size.height + CGFloat(maxHeight)
} else {
navigationBarItem.frame.origin.y = bounds.origin.y - CGFloat(maxHeight/2)
navigationBarItem.frame.size.height = bounds.size.height + CGFloat(maxHeight)
}
}
if String(navigationBarItem.dynamicType) == "UINavigationButton" || String(navigationBarItem.dynamicType) == "UINavigationItemButtonView"{
buttons.append(navigationBarItem)
}
if let lable = navigationBarItem as? UILabel{
lableInserted = true
lable.text = syncBarDataSource.text
if syncBarDataSource!.barHeight > 0{
lable.hidden = false
} else {
lable.hidden = true
}
}
}
しかし、私は
navigationBarItem as? UINavigationButton
のようにキャストしたい場合、私は説明したエラー
コードを共有してください。 –