注意:下面方法属于网络转载,至于能不能成功,还没有试验,所以才放在了这里,保存别人的书签不方便, 所以先放在这里,等有时间了再看看,如果正确,则进行详细说明。
这里运用了 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了。
附上图片示例

分享到:
相关推荐
ToolBar工具栏是视图View的属性,可以在工具栏上添加工具栏按钮Bar Button Item(可以是自定义的Custom、也可以是系统自带的BarButtonSystemItem ),视图控制器可以通过工具栏项对视图中内容进行操作。 注意事项: 在...
此外,`UIToolbar`还支持自定义布局,如间距调整、居中对齐等,可以使用`flexibleSpace`方法创建空格,或者自定义`UIBarPositioningDelegate`来实现更复杂的布局逻辑。 总之,快速切换`UIToolbar`中的图标是通过...
在IT行业中,自定义图标工具栏是用户界面设计的一个重要组成部分,它允许用户根据个人需求或工作流程定制自己的操作面板,提升工作效率。在本话题中,我们将深入探讨自定义图标工具栏的设计原理、实现方式以及相关类...
iphone中的基础控件UIToolBar,适合初学者,主要学习UIToolBar的常用属性设置、点击事件、以及添加文字、图片、系统自带操作按钮、自定义视图等到工具条上,一般处理一个页面上多个功能按钮操作
此外,我们还可以添加自定义的视图,比如图片或者自定义的视图控制器,来实现更复杂的功能。 为了进一步定制工具栏的外观,我们可以使用`UIAppearance`协议。这允许我们在应用程序的全局范围内设置`UIToolbar`的...
在这个主题中,我们重点关注"(0163)-iOS/iPhone/iPAD/iPod源代码-视图布局(View Layout)-Tool Drawer",这显然涉及到自定义`UIToolbar`的设计和交互功能。`UIToolbar`是iOS中的一个标准组件,通常用于显示一...
在本例中,我们将探讨如何通过UITextField、UIPickerView和UIToolBar这三个控件来构建一个自定义的下拉菜单。 首先,我们的自定义控件UICombox继承自UITextField。之所以选择UITextField作为基础,是因为它可以作为...
若需自定义背景图像,可以使用setBackgroundImage:forBarMetrics:方法,但要注意图片尺寸应与导航栏尺寸匹配,并根据UIBarMetrics的不同状态进行适配。此外,shadowImage属性可以设置导航栏的阴影图像,...
- GUI的外观可以通过`uitoolbar`、`uipanel`和`guide`的布局管理器进行组织,确保界面美观且易于使用。 9. **错误处理和调试**: - 在编写GUI代码时,应考虑错误处理,例如文件不存在或内存不足的情况。MATLAB的`...
虽然UIToolbar有默认的“金属”风格的界面,但开发者可以通过调整barStyle属性、设置背景图片等方式对其进行自定义。这意味着你可以根据应用的主题或品牌色彩来设计工具栏的外观,使其更加个性化和统一。 #### ...
uitoolbarScrollResize 添加了一个带有 uipushtool 按钮的 uitoolbar,用于放大、缩小、滚动图形的内容(儿童)。 当您以实际打印尺寸创建具有许多轴(子图)的图形时,这些图可能太小而无法在显示中看到。 与 ...
功能安装使用说明#功能支持以下视图元素:UINavigationBar UINavigationBar和UIToolbar UINavigationBar和UITabBar UINavigationBar和Custom UITabBar(例如,超出中心按钮)支持功能:滚动时隐藏/显示控件单独隐藏...
本文详细介绍了如何在iOS 8中不使用`UIToolBar`实现动态毛玻璃效果的方法,包括创建自定义背景、应用毛玻璃效果以及实现动态交互等内容。通过这些步骤,开发者可以在自己的应用中轻松实现这一效果,提升用户体验。...
UIToolbar类别,用于创建对文本输入视图有用的工具栏,例如,iOS的键盘或选择器 依存关系 安装 将UIToolbar + KeyboardAdditions.h和UIToolbar + KeyboardAdditions.m文件添加到您的项目中。 用法 带有完成按钮的...
EEToolbarCenterButton 是一个向 UIToolbar 中心添加特色按钮的组件。 它处理按钮对齐,并帮助您使用高度大于 UIToolbar 高度的按钮图像。 支持的环境 iOS 5 或更高版本。 安装 EEToolbarCenterButton 可以由安装,...
- Disabled State下,设置按钮图片为`powerdisabled.png`,背景图片为`butbackgraydisabled.png`。 - `smallButton`的属性设置: - Default State下,设置背景图片为`butbackgray.png`,标题为“Shock”。 - ...
6. 自定义导航栏和工具栏的外观:如更改背景色、文字颜色、阴影效果等。 7. 使用Auto Layout进行布局:确保在不同设备和屏幕尺寸下工具栏和导航控制器能正确显示。 通过分析这个源码,开发者可以学习到如何在实际...
根据提供的信息,我们可以总结出以下关于移动开发中 UIScrollView 和 UIToolBar 的相关知识点: ### 一、UIScrollView 虽然提供的内容中没有直接提到 UIScrollView 的具体用法,但是作为移动开发中的一个重要组件...
除了基本的形状选择,还可以通过自定义函数实现更复杂的行为,如曲线选择、多边形选择等。这些函数通常会利用MATLAB的图形处理功能,如`ginput`(获取用户输入的点)或者`imfreehand`(绘制自由曲线)。 在`...
- 自定义工具栏的背景可以通过设置`toolbar.setBackgroundImage(_:forToolbarPosition:barMetrics:)`方法。 - 若想更改选中按钮的样式,可以重写UIBarButtonItem的`tintColor`和`highlightedTintColor`属性。 8. ...