`

UINavagationBar,UISearchBar,UIToolBar,UITabBar 自定义背景图片

    博客分类:
  • IOS
阅读更多

注意:下面方法属于网络转载,至于能不能成功,还没有试验,所以才放在了这里,保存别人的书签不方便, 所以先放在这里,等有时间了再看看,如果正确,则进行详细说明。

这里运用了 object-c里面的一个类别,大体意思就是在不知道苹果封装起来的API内容的情况下,在外部程序中覆盖其原来的函数。大体这个意思吧。

程序代码: 在程序的任何一个 .m文件 后面加上下面代码即可 记住 要在 @end 的后面加上;

@implementation UINavigationBar (CustomImage2)   
- (void)drawRect:(CGRect)rect {   
    UIImage *image = [UIImage imageNamed: @"bar.png"];   
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];   
}   
@end

@implementation UIToolbar (CustomImage2)   
- (void)drawRect:(CGRect)rect {   
    UIImage *image = [UIImage imageNamed: @"bar.png"];   
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];   
}   
@end

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

@end

上面这三个的用法都是一样的,关键是SearchBar

SearchBar的背景图片控制不是由SearchBar 本身 而是由 UISearchBarBack 来控制的,因此无法直接用上面的代码,需要手动把SearchBar上面的两个View 删除了才行。

且看删除代码:

    在你的ViewDidLoad 或者任何一个程序可以执行到的地方 写下如下代码,不过首先你得nib 一个 UISearchbar 才行的

    [[_searchBar.subviews objectAtIndex:0] setHidden:YES];
    [[_searchBar.subviews objectAtIndex:0] removeFromSuperview];
    for (UIView *subview in _searchBar.subviews) {
        if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {
            [subview removeFromSuperview];
            break;
        }
    }

这个代码 配合 上面的那个类别

    @implementation UISearchBar (CustomImage2)   
- (void)drawRect:(CGRect)rect {   
    UIImage *image = [UIImage imageNamed: @"bar.png"];   
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];   
}   
@end

OK了。

 

附上图片示例 

分享到:
评论

相关推荐

    iOS应用中使用Toolbar工具栏方式切换视图的方法详解

    ToolBar工具栏是视图View的属性,可以在工具栏上添加工具栏按钮Bar Button Item(可以是自定义的Custom、也可以是系统自带的BarButtonSystemItem ),视图控制器可以通过工具栏项对视图中内容进行操作。 注意事项: 在...

    UIToolBar快速切换图标

    此外,`UIToolbar`还支持自定义布局,如间距调整、居中对齐等,可以使用`flexibleSpace`方法创建空格,或者自定义`UIBarPositioningDelegate`来实现更复杂的布局逻辑。 总之,快速切换`UIToolbar`中的图标是通过...

    自定义图标工具栏

    在IT行业中,自定义图标工具栏是用户界面设计的一个重要组成部分,它允许用户根据个人需求或工作流程定制自己的操作面板,提升工作效率。在本话题中,我们将深入探讨自定义图标工具栏的设计原理、实现方式以及相关类...

    iphone 开发基础控件UIToolBar

    iphone中的基础控件UIToolBar,适合初学者,主要学习UIToolBar的常用属性设置、点击事件、以及添加文字、图片、系统自带操作按钮、自定义视图等到工具条上,一般处理一个页面上多个功能按钮操作

    iphone自定义工具栏

    此外,我们还可以添加自定义的视图,比如图片或者自定义的视图控制器,来实现更复杂的功能。 为了进一步定制工具栏的外观,我们可以使用`UIAppearance`协议。这允许我们在应用程序的全局范围内设置`UIToolbar`的...

    (0163)-iOS/iPhone/iPAD/iPod源代码-视图布局(View Layout)-Tool Drawer

    在这个主题中,我们重点关注"(0163)-iOS/iPhone/iPAD/iPod源代码-视图布局(View Layout)-Tool Drawer",这显然涉及到自定义`UIToolbar`的设计和交互功能。`UIToolbar`是iOS中的一个标准组件,通常用于显示一...

    IOS下自定义下拉菜单的实现

    在本例中,我们将探讨如何通过UITextField、UIPickerView和UIToolBar这三个控件来构建一个自定义的下拉菜单。 首先,我们的自定义控件UICombox继承自UITextField。之所以选择UITextField作为基础,是因为它可以作为...

    iOS中的导航栏UINavigationBar与工具栏UIToolBar要点解析

    若需自定义背景图像,可以使用setBackgroundImage:forBarMetrics:方法,但要注意图片尺寸应与导航栏尺寸匹配,并根据UIBarMetrics的不同状态进行适配。此外,shadowImage属性可以设置导航栏的阴影图像,...

    matlab.rar_matlab GUI 图片_图片处理

    - GUI的外观可以通过`uitoolbar`、`uipanel`和`guide`的布局管理器进行组织,确保界面美观且易于使用。 9. **错误处理和调试**: - 在编写GUI代码时,应考虑错误处理,例如文件不存在或内存不足的情况。MATLAB的`...

    斯坦福大学iOS开发教程2011年秋Lecture 7

    虽然UIToolbar有默认的“金属”风格的界面,但开发者可以通过调整barStyle属性、设置背景图片等方式对其进行自定义。这意味着你可以根据应用的主题或品牌色彩来设计工具栏的外观,使其更加个性化和统一。 #### ...

    uitoolbarScrollResi​ze(fig):uitoolbarScrollResize 增加了一个uitoolbar 用于放大图的内容(Children)。-matlab开发

    uitoolbarScrollResize 添加了一个带有 uipushtool 按钮的 uitoolbar,用于放大、缩小、滚动图形的内容(儿童)。 当您以实际打印尺寸创建具有许多轴(子图)的图形时,这些图可能太小而无法在显示中看到。 与 ...

    一个易于使用的库,用于在用户滚动时管理导航栏,标签栏或工具栏的隐藏和显示。-Swift开发

    功能安装使用说明#功能支持以下视图元素:UINavigationBar UINavigationBar和UIToolbar UINavigationBar和UITabBar UINavigationBar和Custom UITabBar(例如,超出中心按钮)支持功能:滚动时隐藏/显示控件单独隐藏...

    iOS 8毛玻璃简单实现

    本文详细介绍了如何在iOS 8中不使用`UIToolBar`实现动态毛玻璃效果的方法,包括创建自定义背景、应用毛玻璃效果以及实现动态交互等内容。通过这些步骤,开发者可以在自己的应用中轻松实现这一效果,提升用户体验。...

    toolbar-keyboard-ios:UIToolbar扩展可创建对iOS的键盘或选择器有用的工具栏

    UIToolbar类别,用于创建对文本输入视图有用的工具栏,例如,iOS的键盘或选择器 依存关系 安装 将UIToolbar + KeyboardAdditions.h和UIToolbar + KeyboardAdditions.m文件添加到您的项目中。 用法 带有完成按钮的...

    EEToolbarCenterButton:用于在 UIToolbar 中心添加特色按钮的 UI 组件

    EEToolbarCenterButton 是一个向 UIToolbar 中心添加特色按钮的组件。 它处理按钮对齐,并帮助您使用高度大于 UIToolbar 高度的按钮图像。 支持的环境 iOS 5 或更高版本。 安装 EEToolbarCenterButton 可以由安装,...

    Button控件 滑块控件 分段控件 工具栏

    - Disabled State下,设置按钮图片为`powerdisabled.png`,背景图片为`butbackgraydisabled.png`。 - `smallButton`的属性设置: - Default State下,设置背景图片为`butbackgray.png`,标题为“Shock”。 - ...

    IOS应用源码——UINavigationControllerWithToolbar.rar

    6. 自定义导航栏和工具栏的外观:如更改背景色、文字颜色、阴影效果等。 7. 使用Auto Layout进行布局:确保在不同设备和屏幕尺寸下工具栏和导航控制器能正确显示。 通过分析这个源码,开发者可以学习到如何在实际...

    移动开发学习

    根据提供的信息,我们可以总结出以下关于移动开发中 UIScrollView 和 UIToolBar 的相关知识点: ### 一、UIScrollView 虽然提供的内容中没有直接提到 UIScrollView 的具体用法,但是作为移动开发中的一个重要组件...

    matlab开发-添加anroi工具bartoyourfigure

    除了基本的形状选择,还可以通过自定义函数实现更复杂的行为,如曲线选择、多边形选择等。这些函数通常会利用MATLAB的图形处理功能,如`ginput`(获取用户输入的点)或者`imfreehand`(绘制自由曲线)。 在`...

    第十二章Demo

    - 自定义工具栏的背景可以通过设置`toolbar.setBackgroundImage(_:forToolbarPosition:barMetrics:)`方法。 - 若想更改选中按钮的样式,可以重写UIBarButtonItem的`tintColor`和`highlightedTintColor`属性。 8. ...

Global site tag (gtag.js) - Google Analytics