1、默认的UITabBarController不支持四个方向,但可以给UITabBarController增加一个类别,实现旋转;具体做法:
在工程添加一个.h和.m文件如下:
//Rotation.h
#import <Foundation/Foundation.h>
@interface UITabBarController(Rotation)
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation;
@end
#import "Rotation.h"
@implementation UITabBarController(Rotation)
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
returnYES;
}
@end
重新编译,运行后UITabBarController就可以支持四个方向了;
2、进一步,如果UITabBarController包含多个ViewController,如A,B,C三个;但我们只想A,B,支持四个方向,而C只支持一个方向,则在
//Rotation.m
#import "Rotation.h"
@implementation UITabBarController(Rotation)
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if([[self selectedViewController] isKindOfClass:[C class]]){
return NO;
}
return YES;
}
@end
3、隐藏底边的UITabBar
(1)假如你在某一个ViewController中隐藏UITabBar,则可以在该控制器中添加下面的函数
- (void)viewDidAppear:(BOOL)animated{
self.hidesBottomBarWhenPushed = YES;
}
(2)为了将某个视图全屏显示,而隐藏UITabBar,添加下面的函数
- (void)HideTabBar:(BOOL)hidden{
[UIViewbeginAnimations:nilcontext:NULL];
[UIViewsetAnimationDuration:0];
for(UIView *viewinself.tabBarController.view.subviews){
if([viewisKindOfClass:[UITabBarclass]]){ //处理UITabBar视图
if (hidden) {
[viewsetFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width,view.frame.size.height)];
} else {
[viewsetFrame:CGRectMake(view.frame.origin.x, 480-48, view.frame.size.width,view.frame.size.height)];
}
}else{ //处理其它视图
if (hidden) {
[viewsetFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width,480)];
} else {
[viewsetFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width,480-48)];
}
}
}
[UIViewcommitAnimations];
}
相关推荐
iphone中的基础控件UITabBar及UITabBarController,适合初学者,主要学习UITabBarController的常用属性设置及其点击事件。 1、UITabBarController是一个容器,一般作为整个程序的rootViewController,容器包含多个...
UITabBar动画隐藏用法: tabBarController ? . tabBar . isTranslucent = truetabBarController ? . setTabBarHidden ( true , animated : true )
1.自定义中间带弧度的UITabBar(参照代码思路可改成其它形状)。 2.TabBar保留系统原有push和pop过渡效果。 3.由于自定义了UITabBar所以就连同TabBarController也一同定义了(用法和系统的很类似)。
自定义UITabBar,layoutSubviews重写UITabBarButton位置,重写则hitTest方法并监听按钮的点击 自定义的UITabBarController和UINavigationController
详细说明了UITabBarViewController的用法,包括使用自定义UITabBar以及使用UITabBarController控件
继承UITabBarController 写的 管理切换控制器 主要是写 UITabBar样式是 继承UIView //标签栏 _bottomBar = [[RXTabBarBottomView alloc] initWithFrame:self.tabBar.bounds]; _bottomBar.delegate = self; ...
YIHideableTabBar UITabBarController 类别来显示/隐藏 iOS 的 UITabBar。
完美自定义UITabBarController 可实现完全自定义
uitabbarcontroller的封装
GGTabBar GGTabBar是一个简单的UITabBar&UITabBarController替代品,它使用自动布局来构造GUI。 我出于好奇心创建了它,但是它对那些冒险进入“自动版式”领域的人可能有用。 :warning: 这是一项正在进行的工作/...
UITabBarController Demo IOS 代码 例子
同时也包含ESTabBarItemESTabBar和UITabBar混合样式:带有'More'的ESTabBar和UITabBar混合样式:4、支持UIKit属性支持UITabBarController、UITabBar和UITabBarItem的大部分api属性,使原有代码无需任何修改即可无缝...
自定义UITabBarController实现底部排列五个按钮的选项卡点击中间按钮可以跳转到新的界面
很多时候我们创建一个基于UITabBarController的application以后还希望能够在每个tab view都可以实现导航控制,即添加一个UINavigationController来实现tabview内部的view之间的切换,这即是本文所要介绍的。
最少仅需两行代码(可使用Storyboard)创建自定义UITabBar样式 多种可DIY参数(UITabBar高度, Badge颜色大小位置, 小圆点, 滑动滑块)等等 有详细的Demo, Objective-C项目的两个, Swift项目的一个 最新版可前往...
高度可定制,摆脱系统的局限性,主要是我只是写了个demo想怎么变都行,不用太局限
一个自定义UITabbarController的tabBar的界面效果,并点击有动画效果移动背景
KCExplodeTabBar 屏幕截图 文献资料 单击获取完整文档。 演示版 要运行示例项目,请克隆存储库... 使用UITabBarItem类别中的init方法创建带有其他信息的UITabBarItem对象,并将其设置为您的视图控制器。 UITabBarItem
其他视图 UITabBarController相关操作
iOS Object-C 自定义封装成 和 UITabBarView一样的功能。主要体现在 UITabBar样式上,可以随意修改 继承UITabBarController 写的 管理切换控制器 主要是写 UITabBar样式是 继承UIView