UITabBar的定制

在定制UITabBar时要继承与UITabBarController

- (void)viewWillAppear:(BOOL)animated{

[super viewWillAppear:animated];

//1.获取subView

NSArray *subView = self.tabBar.subviews;

//2.遍历出subView上所有的

for (UIView *view in subView) {

NSLog(@"%@",view);

}

//3.UITabBarButton  字符串转换成类

Class tabBarButton = NSClassFromString(@"UITabBarButton");

//4.遍历类,如果是按钮 就移除

for (UIView *item in subView) {

//判断subViews上的控件是否属于 UITabBarButton类 如果属于将其移除,否则继续循环

if ([item isKindOfClass:tabBarButton]) {

[item removeFromSuperview];

}

}

//创建存放tabBar上控件的子视图

UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, self.tabBar.frame.size.height)];

view.backgroundColor = [UIColor purpleColor];

[self.tabBar addSubview:view];

int r  = 3;

CGFloat padding = (self.tabBar.bounds.size.width - 50 *r) / (r+1);

for (int i = 0; i < r; i++) {

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

button.frame = CGRectMake(padding*(i+1)+50*i, 0, 50, self.tabBar.frame.size.height);

button.backgroundColor = [UIColor orangeColor];

button.tag = i+100;

//点击事件

[button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];

[view addSubview:button];

}

}

//通过tag值找到对应的界面

- (void)buttonAction:(UIButton *)btn{

self.selectedIndex = btn.tag - 100;

}

时间: 2024-10-12 07:10:10

UITabBar的定制的相关文章

UITabBarController 基本定制

UITabBarController 定制 特点 用法 1.准备好你的tabBar图片及其他图片(哈哈哈!!!!),我的图片都放在了Assets.xcassets中. 2.导入本工程中的Categroy文件夹, 其中包含: HexColor.h/.m(设置颜色的), NSString+RenderingModel.h/.m(处理图片,让其保持本色或者默认的那种), UIColor+CreateImage.h/.m(填充tabBar的背景颜色), UIFont+fonts.h/.m(设置字体),

【iOS开发-28】制造UITabBarController标签控制器的过程以及定制UITabBarItem文字图片的6种方式

一.一个简单的创造过程(实际项目不推荐这种方式,仅做演示理解原理用) 在AppDelegate.m中: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //创建一个到导航控制器 UIViewController *vc1=[[UIViewController alloc]init]; UINavigationControll

Runtime实战之定制TabBarItem大小

本篇blog主要讲解如何定制TabBarItem的大小,最终实现AppStore各大主流APP TabBarItem超出TabBar的效果.希望对大家有所帮助. 方案一:UIEdgeInsets 适用场景: 适合APP的TabBarItemImage的图片资源放在本地 图片超出tabbar的高度,需移动其位置,来进行适应 弊端: 若在本地配置好后,tabbar的图片就不能改动了,若tabbar的图片来自服务端,且不停的切换图片的大小,以上则很难满足.若有此方面的需求请看方案二. 实现: [tab

ios项目常用模板框架之UITabBar+Nav

在实际的项目开发中总是有几个比较常见的模板,小编这几天给大伙出几期常用模板的博客,希望大家多提宝贵的意见! 这几个月最常用的莫过于Nav+UITabBar模板了:在实际的项目中,我比较侧重于纯代码,比较不喜欢拖控件,至于利弊在这里不多说了,言归正传. 首先在AppDelegate.m中创建一个空白布景: self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]]; 初始化UITabBarController

xcode6 里面通过subclass UITabbar 来修改tabbar的高度

项目需要,需要修改tabbar的高度. 网上找了很多,基本上两个思路 1. 遍历tabbar的所有子view,然后修改frame. 2. 完全自己定制tabbar 第一个,感觉不是很稳定,需要每次tabbar修改frame后,再次调用修改. 第二种,感觉修改太多了.我只是要修改以下高度啊. 后来发现可以在xcode上设置UITabbarController的UITabbar,那是不是可以自己subclass以下UITabbar,然后在sizeThat 重载下,返回自己的想要的高度. 试了下,果然

UITabBar和UINavigation组合使用与自定义样式

UITabBarController和UINavigationController组合使用与自定义样式 源代码github地址:https://github.com/zcsoft/ZCTabNav 环境版本:mac 10.10 / ios7+ / xcode 6.3 大部分APP的界面框架都需要UITabBarController和UINavigationController组合使用,自己的很多项目也都是这样的结构.但是一直觉着用的非常混乱,尤其是ios5一路过来到ios8,tabbar和nav

UIAppearance定制控件的默认外观

一,概述 控件的外观,受到tint color,background image, background color等属性的共同影响,通常要修改某个控件对象的外观,就去调用上面属性的相关setter方法(或者其他可以修改它们的方法)就可以了.但是,如果希望整个app中的控件都保持一致的风格,比如所有button的风格(指的是大小,背景图,形状等)都一样,那么一个一个去重复设置每个button的风格,就显得太麻烦了.如果可以给Button类设定一个默认外观,就方便多了.appearance pro

二维码扫码积分系统定制开发

微信积分系统 二维码扫码积分系统定制开发找丽姐[158.1816.6626/电微]二维码营销模式系统定制开发 微信扫二维码营销系统开发 扫码领积分系统开发 一.如何实现扫二维码领红包功能? 1.使用扫描二维码领取红包对活动进行设置,包括红包数量.红包金额.促销地区.中奖概率等. 2.将生成的二维码赋到商品上面并赋涂层,一方面可以起到保证二维码的一次性,另一方面也可以引起消费者的好奇心. 3.通过手机微信打开扫一扫,扫码商品二维码关注公众号并领取红包,如果参与分享还可以获得抽奖的机会. 二.微信扫

微信小程序开发定制

上海软件定制专家:http://www.dzonly.com/?from=timeline