gpt4 book ai didi

ios - 如何在导航栏的默认后退按钮上设置图像

转载 作者:可可西里 更新时间:2023-11-01 04:05:17 27 4
gpt4 key购买 nike

我在 Appdelegate 中使用以下代码为所有 View Controller 在导航栏上设置后退按钮图像:

    [[UIBarButtonItem appearance] setBackButtonBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

现在,在我的一个 View Controller 中,我从图库中选择一个新图像并保存它。我希望一旦我保存这个新图像,后退按钮的“图像”就会被这个“新图像”替换。

我在每个 View Controller 的 viewWillAppear 中尝试了以下代码

    [self.navigationItem.backBarButtonItem setBackButtonBackgroundImage:newimage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

尝试过

 [self.navigationItem.backBarButtonItem setImage:new];

这也是。但这一切都是徒劳的。只有当我再次运行我的应用程序时图像才会改变,因此当 Appdelegate 中的代码被调用时。

请帮忙!

最佳答案

要设置自己的后退图像按钮,您需要设置自定义外观。并调用 appdelegate.h 文件。

注意:您需要在appdelegate.h中设置一次,然后在整个项目中应用。不需要在每个 Controller 中声明。

请检查这个。

   //in Appdelegate.h file
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self customappearance]; //Method declaration
}

并在自定义外观中使用图像名称声明您的图像。像这样,

-(void)customappearance
{
//int imageSize = 20;
UIImage *myImage = [UIImage imageNamed:@"icon_back"]; //set your backbutton imagename
UIImage *backButtonImage = [myImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
// now use the new backButtomImage
[[UINavigationBar appearance] setBackIndicatorImage:backButtonImage];
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:backButtonImage];


/*
UIImage *backbutton=[[UIImage imageNamed:@"icon_back"]resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0) resizingMode:UIImageResizingModeStretch];

//resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0) resizingMode:UIImageResizingModeStretch];

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backbutton forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];*/
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-400.f, 0)
forBarMetrics:UIBarMetricsDefault];

}

您的导航栏后退按钮看起来像这样。

Custom back image in navigation bar

关于ios - 如何在导航栏的默认后退按钮上设置图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30758130/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com