`

UITabBar

 
阅读更多
http://blog.csdn.net/zhanglei5415/article/details/6369119
http://hi.baidu.com/bunsman/blog/item/effd0aeae83bd8cad439c93d.html
http://www.cnblogs.com/lovecode/articles/2310991.html

有效隐藏UITabBar:http://www.devdiv.com/home.php?mod=space&uid=11574&do=blog&id=2085
- (void) hideTabBar:(BOOL) hidden
{
    
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0];
	
    for(UIView *view in self.tabBarController.view.subviews)
    {
        if([view isKindOfClass:[UITabBar class]])
        {
            if (hidden) {
                [view setFrame:CGRectMake(view.frame.origin.x, 320, view.frame.size.width, view.frame.size.height)];
            } else {
                [view setFrame:CGRectMake(view.frame.origin.x, 320-49, view.frame.size.width, view.frame.size.height)];
            }
        } 
        else 
        {
            if (hidden) {
                [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 320)];
            } else {
                [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 320-49)];
            }
        }
    }
    
    [UIView commitAnimations];
}


//  移除UITabBarController上的UITabBar
	for(UIView *view in self.view.subviews) {
		if([view isKindOfClass:[UITabBar class]]) {
			view.hidden = YES;
			break;
		}
	}


	NSArray *array = [tabBarCtrl.view subviews];
	UITabBar *tabBar = [array objectAtIndex:1];
	UIImage *image = [UIImage imageNamed:@"background.png"];
	tabBar.layer.contents = (id)image.CGImage;



@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





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

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

//  删除UISearchbar上的 UISearchBarBackground
    [[_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
分享到:
评论

相关推荐

    iphone 水平滚动的UITabBar Demo

    在iOS应用开发中,`UITabBar`是苹果提供的一个标准组件,用于在底部展示多个选项卡,用户可以通过点击选项卡在不同的视图之间切换。然而,标准的`UITabBar`是固定的,通常只能容纳有限数量的标签,并且它们默认是...

    iphone开发基础控件UITabBar及UITabBarController

    iphone中的基础控件UITabBar及UITabBarController,适合初学者,主要学习UITabBarController的常用属性设置及其点击事件。 1、UITabBarController是一个容器,一般作为整个程序的rootViewController,容器包含多个...

    自定义动画效果的UITabBar

    在iOS应用开发中,`UITabBar` 是一个标准组件,用于展示多个主要功能选项,用户可以通过点击不同的标签在各个页面之间切换。然而,系统默认的`UITabBar`样式可能无法满足所有设计需求,因此开发者经常需要自定义`...

    自定义带圆弧的UITabBar

    1.自定义中间带弧度的UITabBar(参照代码思路可改成其它形状)。 2.TabBar保留系统原有push和pop过渡效果。 3.由于自定义了UITabBar所以就连同TabBarController也一同定义了(用法和系统的很类似)。

    UITabBar和UINavigation组合使用

    在iOS应用开发中,`UITabBar` 和 `UINavigationController` 是两个非常重要的组件,它们在构建用户界面时起着核心作用。`UITabBar` 用于实现底部的标签栏,提供多页面间的切换,而 `UINavigationController` 则负责...

    iOS 自定义UITabBar中间按钮(OC版)

    `UITabBar`作为底部导航栏,是用户交互的重要部分。有时,开发者需要对其进行自定义,以满足特定的设计需求,比如在中间添加一个突出的按钮。本教程将详细讲解如何在Objective-C(OC)中实现一个自定义的`UITabBar`...

    ios-自定义UITabbar.zip

    在iOS应用开发中,`UITabBar`是苹果提供的一个标准组件,用于在底部展示多个选项卡,每个选项卡代表一个不同的视图控制器。然而,系统默认的`UITabBar`样式可能无法满足所有设计需求,因此开发者经常需要对其进行...

    UITabBar切换,通过Notification变换TabBar的根

    在实际应用中,我们有时需要在用户切换`UITabBarItem`时动态改变对应的`UINavigationController`的根视图控制器。本教程将详细讲解如何通过`Notification`来实现在`UITabBar`切换时变换`TabBar`下的`...

    ios-UITabBar 点击动画效果 Q弹.zip

    在iOS应用开发中,`UITabBar` 是一个非常重要的组件,它用于在底部展示多个选项卡,方便用户在不同的视图控制器之间进行切换。在本项目“ios-UITabBar 点击动画效果 Q弹.zip”中,开发者实现了一个独特的`UITabBar...

    iOS UITabBar创建

    在iOS开发中,`UITabBar`是苹果提供的一个核心组件,用于构建具有底部标签导航的应用界面。在Xcode 7.2.1版本中,我们可以利用它来为6s Plus或其他兼容iOS设备创建美观且功能丰富的用户界面。`UITabBar`与`...

    基于UITabBar的系统功能实现切换时滑动提示的tab bar。

    iOS5以后对UITabBar提供了很多新的方法和属性,就不用像以前一样为实现自定义的样式而大费周折了。基于系统的UITabBar实现主要是为了实现稳定性。而且用第三方的话,学到的知识价值没有用系统的高。

    ios-UITabBar 点击刷新.zip

    UITabBar 点击当前选中的 item 时触发下拉刷新。 使用 runtime hook UITabBar 的点击事件,不依赖 UITabBarControllerDelegate,支持刷新动画。 https://github.com/xiaopin/UITabBarRefresh.git

    简单的自定义UITabBar

    在iOS应用开发中,`UITabBar`是苹果提供的一个标准组件,用于在底部展示多个主功能间的切换。然而,为了使应用具有独特的设计风格或更丰富的交互效果,开发者经常会选择自定义`UITabBar`。标题“简单的自定义...

    swift——自定义UITabBar,UITabBarController和UINavigationController

    自定义UITabBar,layoutSubviews重写UITabBarButton位置,重写则hitTest方法并监听按钮的点击 自定义的UITabBarController和UINavigationController

    uitabbar的高级应用

    UITabBar是iOS开发中的一个重要组件,它是底部导航栏,通常包含多个标签,用户可以通过点击这些标签在不同的视图控制器间切换。在本教程中,我们将深入探讨`uitabbar`的高级应用,特别是如何利用它来实现各种自定义...

    中间一个按钮为为半圆的UITabBar

    在iOS应用开发中,`UITabBar` 是一个标准组件,用于展示多个可选视图控制器,用户可以通过点击底部的图标在这些视图之间切换。然而,为了满足个性化设计需求,有时我们需要对`UITabBar`进行自定义,比如让中间的按钮...

    ios-自定义UITabBar.zip

    在iOS开发中,`UITabBar`是苹果提供的一个标准组件,用于展示应用程序的主要功能选项。用户通过点击底部的图标可以在各个子视图控制器之间切换。然而,有时开发者需要根据应用设计的需求对`UITabBar`进行自定义,以...

    UITabbar 隐藏底部选项卡栏显示demo

    `UITabBar` 是这个组件的重要组成部分,通常显示在屏幕的底部,用于展示各个选项卡。本教程将详细介绍如何在iOS应用中隐藏和显示`UITabBar`,并提供一个相关的代码示例——"隐藏底部UITabbarDemo"。 首先,我们需要...

    定制UITabBar

    在iOS应用开发中,`UITabBar`是系统提供的一个底部导航组件,它通常用于展示应用的主要功能模块,用户可以通过点击不同的tab切换不同的界面。然而,系统默认的`UITabBar`样式可能无法满足所有设计需求,这时就需要...

    iphone开发基础UITabBar和UINavigation搭建简单应用

    iphone开发基础UITabBar和UINavigation搭建简单应用,适合初学者,学习tabbar和navigation,这里练习两者组合搭建一个简单的常见应用例子, 其实普通应用也就是tabbar作为根视图,每个tab又是一个navigation的根...

Global site tag (gtag.js) - Google Analytics