gpt4 book ai didi

iOS navigationbar setBackBarButtonItem 为自定义按钮

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:05:05 24 4
gpt4 key购买 nike

我需要一些关于如何自定义“backBarButtonItem”的帮助不,我不想使用 LeftBarButtomItem,因为我想继承样式并保持从“BackBarButtom”的过渡

好的,所以我得到的是:

UIBarButtonItem* barbtnItem = [[UIBarButtonItem alloc]initWithCustomView:  [ArrivalProto ArrivalBtnTypeBack]];

[ArrivalProto ArrivalBtnTypeBack] 返回一个带有 setBackgroundImage 和 setImage 的自定义 UIbutton。

然后我想做的就是添加它来自定义 BackBarButton:

[self.navigationItem setBackBarButtonItem: barbtnItem];

但是不。只是普通的普通后退按钮:(((虽然这似乎可行:

//self.navigationItem setLeftBarButtonItem:barbtnItem];

还有这个:

UIImage *btnTrnspBgrImg30 = [[UIImage imageNamed:@"trspBlackBtn30"]resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)]; 
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:btnTrnspBgrImg30 forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

信息:

[self.navigationItem setBackBarButtonItem: <#(UIBarButtonItem *)#>];
[self.navigationItem setLeftBarButtonItem:<#(UIBarButtonItem *)#>]

最佳答案

从 iOS5 开始,我们有一个极好的新方法来自定义几乎所有控件的外观,使用 the appearance proxy ,即 [UIBarButtonItem appearance]。外观代理允许您对控件的外观创建应用程序范围的更改。下面是使用外观代理创建的自定义后退按钮的示例。

enter image description here

使用下面的示例代码为正常和突出显示状态创建带有自定义图像的后退按钮。从您的 appDelegate 的 application:didFinishLaunchingWithOptions:

调用以下方法
- (void) customizeAppearance {

UIImage *i1 = [[UIImage imageNamed:@"custom_backButton_30px"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 6)];
UIImage *i2 = [[UIImage imageNamed:@"custom_backButton_24px"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15, 0, 6)];

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

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:i2
forState:UIControlStateNormal
barMetrics:UIBarMetricsLandscapePhone];

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:i1
forState:UIControlStateHighlighted
barMetrics:UIBarMetricsDefault];

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:i2
forState:UIControlStateHighlighted
barMetrics:UIBarMetricsLandscapePhone];
}

这只是一个简单的例子。通常,您会希望为正常状态和突出显示(按下)状态设置单独的图像。

如果您对自定义其他控件的外观感兴趣,可以在此处找到一些很好的示例:http://ios.biomsoft.com/2011/10/13/user-interface-customization-in-ios-5/

关于iOS navigationbar setBackBarButtonItem 为自定义按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15365321/

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