gpt4 book ai didi

iPhone UINavigationBar 自定义外观

转载 作者:行者123 更新时间:2023-12-03 21:10:48 28 4
gpt4 key购买 nike

我一直在尝试弄清楚如何在 iPhone 应用程序上的 UINavigationBar 后面显示背景图像,并且多次遇到相同的解决方案,如下所示:

@implementation UINavigationBar (UINavigationBarCategory) {
- (void)drawRect:(CGRect)rect {
UIImage *img = [UIImage imageNamed: @"logo_bar.png"];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextDrawImage(context, CGRectMake(0, 0, 317, 27), img.CGImage);
}
@end

这在一定程度上有效

我的图像上下颠倒!!到底为什么会这样?我已经检查了图像本身,这很好。这种转换将应用在哪里?

我还有其他问题,例如:

  1. 我如何选择在选定的屏幕上显示 BG 图像或切换其 Alpha?有一个特定的屏幕,其中有一个后退按钮,并且它覆盖了图像,这是我不想要的,我宁愿不在该屏幕上显示图像。

  2. 该图像不是 UINavigationBar 的整个高度,它只是其中的一小部分(如您所见,为 27)。如何使用此技术保持栏其余部分的色调?

谢谢,我之前没有使用过类别,这可能是我理解这一点的关键,但也许不是......

最佳答案

// Drawing code
CGContextRef c = UIGraphicsGetCurrentContext();

UIImage *back=[UIImage imageNamed:@"bar.png"];

CGContextScaleCTM(c,1,-1);
CGContextTranslateCTM(c,0,-44);

CGContextDrawImage(c,CGRectMake(0, 0, 320, 44),[back CGImage]);

这就是我绘制自定义导航栏的方式。希望有帮助。

关于iPhone UINavigationBar 自定义外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3412124/

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