4

UIBarButton の代わりに、UINavigationItem の右隅に UISwitch を配置したいと考えています。UINavigationItem をサブクラス化せずにこれは可能ですか?

4

6 に答える 6

7

メソッドUIBarButtonItemを使用して、内部にカスタム ビューを含む を作成できます。initWithCustomView:例えば:

UISwitch *switch = ...;
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:mySwitch];

これを の左右のアイテムとして設定しますUINavigationItem

于 2013-04-12T10:32:11.580 に答える
3

で可能[UIBarButtonItem initWithCustomView:]です:

UISwitch* switchView = [[UISwitch alloc] init];
UIBarButtonItem* switchItem = [[UIBarButtonItem alloc] initWithCustomView:switchView];
self.navigationItem.rightBarButtonItem = switchItem;
于 2013-04-12T10:32:29.487 に答える
2

スイフトで~

このコードを viewDidLoad() に記述します

let switchDemo=UISwitch(frame:CGRectMake(15, 15, 0, 0))
        switchDemo.on = true
        switchDemo.setOn(true, animated: false)
        switchDemo.addTarget(self, action: "switchValueDidChange:", forControlEvents: .ValueChanged)
        self.view.addSubview(switchDemo)

そして、これはあなたの機能です -

func switchValueDidChange(sender:UISwitch!)
{
if (sender.on == true){
println(“on”)
}
else{
println(“off”)
}
}
于 2016-05-25T07:45:48.913 に答える
0

スウィフト版

let customSwitch = UIBarButtonItem(customView: UISwitch())
navigationItem.rightBarButtonItem = customSwitch

viewDidLoad でこれを行う

于 2021-01-23T19:50:26.473 に答える