gpt4 book ai didi

iOS - [UIColor clearColor] 和 UIToolbars

转载 作者:行者123 更新时间:2023-11-29 04:59:31 24 4
gpt4 key购买 nike

我一直在尝试将[UIColor clearColor]UIToolbar一起使用,试图使自定义控制界面更适合“机械”应用程序(想想按钮你会在 70 年代的电影中看到)。

发生的情况是,当我将工具栏设置为clearColor 时,它会将其变成哑光黑色。它背后的图像是红色、棕褐色和黑色的,所以我确信它没有按预期工作。

我发现的一个区别是我使用的是导航 Controller 上的工具栏,而不是独立的 UIToolbar

代码行是

self.navigationController.toolbar.translucent = YES;
self.navigationController.toolbar.backgroundColor = [UIColor clearColor];

我的上部导航栏(在另一个 View 中设置)是UIBarStyleBlackTranslucent,这可能会导致它失效吗?

任何跟踪此问题的帮助都会很棒。

最佳答案

您可以使用以下代码为导航 Controller 的工具栏设置透明背景:

// UIToolbar.h
@interface UIToolbar (Transparency)
- (void)drawRect:(CGRect)rect;
@end
// UIToolbar.m
#import "TransparentToolbar.h"
@implementation UIToolbar (Transparency)
- (void)drawRect:(CGRect)rect {
[[UIColor clearColor] set];
CGContextFillRect(UIGraphicsGetCurrentContext(), rect);
}
@end

用法:

// bar_bottom_bumped.png is a toolbar image with transparency
UIImage *bg = [UIImage imageNamed:@"bar_bottom_bumped.png"];
UIImageView *background = [[UIImageView alloc] initWithImage:bg];
background.frame = self.navigationController.toolbar.bounds;
background.autoresizingMask = UIViewAutoresizingFlexibleWidth;
BOOL isIOS5 = [[[UIDevice currentDevice] systemVersion] intValue] >= 5;
self.navigationController.toolbar.backgroundColor = [UIColor clearColor];
[self.navigationController.toolbar insertSubview:background atIndex: (isIOS5 ? 1 : 0)];

关于iOS - [UIColor clearColor] 和 UIToolbars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7282691/

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