我有一个导航栏,完全由代码设置和控制,因此在界面生成器(IB)中不会显示。我通过代码 "self.navigationitem.rightbarbutton = myButton;" 让一个按钮出现,然后通过将其设置为 NIL 使其消失。我想知道如何让它淡入淡出。
我有一个导航栏,完全由代码设置和控制,因此在界面生成器(IB)中不会显示。我通过代码 "self.navigationitem.rightbarbutton = myButton;" 让一个按钮出现,然后通过将其设置为 NIL 使其消失。我想知道如何让它淡入淡出。
我找到了对我最有效的方法
[self.navigationItem setRightBarButtonItem:myButton animated:YES];
接着
[self.navigationItem setRightBarButtonItem:nil animated:YES];
使它淡出。Swift版本
淡入: navigationItem.setRightBarButtonItem(myButton, animated: true)
淡出: navigationItem.setRightBarButtonItem(nil, animated: true)
myButton
是一个自定义的按钮对象,通过调用setRightBarButtonItem
方法来设置导航栏右侧按钮的显示。如果需要将按钮从导航栏中移除,则可以将参数设置为nil
。使用animated
参数可以实现动态的淡入淡出效果。很遗憾,在导航栏中没有内置的方法来为条形按钮项添加动画效果。UIBarButtonItem既不是视图也不是控件,因此它没有像alpha这样可动画化的属性。
对于UIToolbar中的条形按钮项,有一种方法可以进行动画处理。请参阅此答案以获取详细信息: