将 UIToolBar 子类化为具有自定义背景时,工具栏的下半部分是黑色的?

编程入门 行业动态 更新时间:2024-10-27 09:47:35
本文介绍了将 UIToolBar 子类化为具有自定义背景时,工具栏的下半部分是黑色的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送ChatGPT账号..

我正在继承 UIToolBar,这里是我如何覆盖 UIToolBar 的 drawRect 方法:

I'm subclassing UIToolBar, here is how I override the drawRect method of UIToolBar:

- (void)drawRect:(CGRect)rect
{
    UIImage *backgroundImage = [UIImage imageNamed:@"UIToolBar_Background.png"];
    [backgroundImage drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}

该应用程序使用 UINavigationController 范式,该范式使用 initWithNavigationBarClass 方法初始化.

The app uses a UINavigationController paradigm initialized with initWithNavigationBarClass method.

问题是工具栏的下半部分是黑色的?UIToolBar_Background.png 的高度为 44 像素(或视网膜为 88).它不应该有它的下半部分黑色.

The issue is that the bottom half of toolbar is black? The UIToolBar_Background.png is 44 pixels height (or 88 for retina). It should not have it's bottom half black.

推荐答案

通过继承 UIToolBar 并覆盖 drawRect,您可以消除一些 UIToolBar 自己的绘图.为什么不使用外观api来设置背景图片:

By subclassing UIToolBar and overriding drawRect, you eliminate some of UIToolBar's own drawing. Why not use the appearance api to set a background image:

[[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"UIToolBar_Background.png"]
                        forToolbarPosition:UIToolbarPositionBottom
                                barMetrics:UIBarMetricsDefault];

或者,您可以使用子类化路线,只需确保在进行自己的绘图之前调用 [super drawrect:rect]:

alternatively, you could use the subclassing route, just make sure you call [super drawrect:rect] before doing your own drawing:

- (void)drawRect:(CGRect)rect
{
    [super drawRect:rect];
    UIImage *backgroundImage = [UIImage imageNamed:@"UIToolBar_Background.png"];
    [backgroundImage drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}

这篇关于将 UIToolBar 子类化为具有自定义背景时,工具栏的下半部分是黑色的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-04-29 02:33:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1183587.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:子类   自定义   工具栏   半部   黑色

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!