Iphone UINavigationBar RIGHTBUTTONIM未设置动画

Iphone UINavigationBar RIGHTBUTTONIM未设置动画,iphone,ios,uinavigationcontroller,uinavigationbar,Iphone,Ios,Uinavigationcontroller,Uinavigationbar,这个问题我已经有一段时间了,但从未真正解决过。我有一个位于导航栏中的RightBarButtonim,当我以动画方式将视图推上/弹出导航堆栈时,它似乎不像back按钮那样动画化 它不是像“后退”按钮那样设置左或右动画,而是淡入淡出,但保持在相同的位置 这就是它的工作原理吗?还是它在做一些不正常的事情?我已在视图中将出现以下代码贴花: self.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc]initWithTitle:@“全部”

这个问题我已经有一段时间了,但从未真正解决过。我有一个位于导航栏中的RightBarButtonim,当我以动画方式将视图推上/弹出导航堆栈时,它似乎不像back按钮那样动画化

它不是像“后退”按钮那样设置左或右动画,而是淡入淡出,但保持在相同的位置

这就是它的工作原理吗?还是它在做一些不正常的事情?我已在
视图中将出现以下代码贴花:


self.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc]initWithTitle:@“全部”样式:UIBarbuttonItems样式有边框的目标:nil操作:@selector(selectAllSubs:)]

请从您的问题中提供更多信息。我真的不明白你想做什么

对于右按钮

您应该在ViewDidLoad上编写:

如果您在VIEWWILLEXPEND:上写入,则当view出现时,它将再次初始化。因此,在viewDidiLoad上使用要比ViewWillAppeal好得多

如果在ViewDidLoad上写入,它将在ViewDidLoad出现之前初始化

如果在视图上写入,则会在“推送视图”出现后显示

你应该写

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"All" style: UIBarButtonItemStyleBordered target:self action:@selector(selectAllSubs:)];
}

如果未添加目标,您的操作选择器将无法调用。

opps是的,我在意识到选择器未被调用后修复了目标。然而,你的帮助解决方案仍然不能解决我的问题。当我的导航栏用新的UIView从右侧滑入时,而不是用右按钮滑入时,它只是淡入(已经在正确的位置),而不是像“后退”按钮那样滑入。。它看起来并不可怕,但我不确定这是否正确。本机iOS UI仅支持右栏按钮项的淡入/淡出。你可以查看联系人iPhone应用程序和其他应用程序。实际上,上帝的评论回答了原始问题,而不是答案条目。。。