我在应用中使用故事板,必须导航到另一个没有动画的视图控制器。我使用自定义segue成功完成了此操作。但是当我回到上一个视图控制器时,又使用导航栏默认的后退按钮那么前进时它不是动画,而后退它是动画。我想停止后退按钮的默认动画。
自定义Seague
// PushNoAnimationSegue.h
@interface PushNoAnimationSegue : UIStoryboardSegue
@end
// PushNoAnimationSegue.m
@implementation PushNoAnimationSegue
-(void) perform{
[[[self sourceViewController] navigationController] pushViewController:[self destinationViewController] animated:NO];
}
@end
使用此代码,我成功地进入了没有动画的下一个视图控制器,因为
-(void) perform
是在向前方向上自动调用的。当我回来时,它不会被调用。因此,如果存在任何问题,请建议我或者我应该选择其他方法 最佳答案
希望这会有所帮助
1.导航栏上的自定义按钮
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(x,y,width,height)];
[btn setImage:[UIImage imageNamed:@"some_image.png"] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(popViewController) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:btn];
self.navigationItem.leftBarButtonItem =backButtonItem;
然后
void popViewController()
{
[self.navigationController popViewControllerAnimated:NO];
}