gpt4 book ai didi

objective-c - 可选择设置导航栏背景图片

转载 作者:搜寻专家 更新时间:2023-10-30 20:27:30 25 4
gpt4 key购买 nike

我需要在导航栏上绘制背景图像或设置色调颜色,但我还需要让导航栏正常显示的选项。我目前正在使用一个类别来支持如果我的应用程序没有指定背景图片,我该怎么做才能确保 drawRect 方法正常执行?

即-

@implementation UINavigationBar (UINavigationBarCategory)
- (void)drawRect:(CGRect)rect {
if(hasImage){
UIImage *img = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://myimageurl.com/img.jpg"]]];
[img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}else{
??????
}
}
@end

最佳答案

实际上我最终做了一些完全不同的事情,我想知道为什么以前没有人发现这一点。我在谷歌搜索这个主题的过程中看到的一种方法是简单地将图像作为 subview 添加到 UINavigationBar。唯一的问题是这使得栏中的按钮不可点击。解决方法是禁用图像上的用户交互。

myUIImageView.userInteractionEnabled = NO;[myNavController.navigationBar addSubview:myUIImageView];[myNavController.navigationBar sendSubviewToBack:myUIImageView];

有了它,一切看起来/工作起来都很棒,我不必用类别、调配方法或任何时髦的东西覆盖 drawRect 方法。简单干净。

关于objective-c - 可选择设置导航栏背景图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2876445/

25 4 0