自定义UITabBar--实现类似新浪微博中间的发送按钮
来源:互联网 发布:肯尼迪遇刺真相知乎 编辑:程序博客网 时间:2024/04/28 13:06
之前公司提出一个需求,让点击tabBar上中间的一个按钮然后发送一些内容,效果就像新浪微博中中间的发送按钮。可由于公司有其他的功能需求所以这个需求也一直没有真正地下达。最近看一个网上的视频教程,发现有一个自定义的tabBar正好和公司之前的需求吻合,于是就将代贴出来了。
代码:
首先自定义个tabBar,这个tabBar是继承自UITabBar的。然后将系统的tabBar替换。
- (void)setTabBarButton{
LSTabBar * tabBar = [[LSTabBaralloc] init];
[selfsetValue:tabBar forKeyPath:@"tabBar"];
}
- (UIButton *)plushBtn{
if (_plushBtn ==nil) {
UIButton * plustBtn = [UIButtonbuttonWithType:UIButtonTypeCustom];
_plushBtn = plustBtn;
[_plushBtnsetBackgroundImage:[UIImageimageNamed:@"tabBar_publish_icon"]forState:UIControlStateNormal];
[_plushBtnsetBackgroundImage:[UIImageimageNamed:@"tabBar_publish_click_icon"]forState:UIControlStateHighlighted]; // 高亮状态
[_plushBtnsizeToFit]; //自适应图片的大小
// 只添加一次
[selfaddSubview:_plushBtn];
}
return_plushBtn;
}
- (void)layoutSubviews{
[superlayoutSubviews];
NSInteger num =self.items.count +1; // tabBarButton的个数
CGFloat btnW =self.frame.size.width / num;
CGFloat btnH =self.frame.size.height;
// 调整tabBatButton的位置
NSInteger i =0;
for (UIView * tabBarButtonin self.subviews) {
if ([tabBarButtonisKindOfClass:NSClassFromString(@"UITabBarButton")]) {
if (i ==2) { //如果是第三个按钮则右移一个位置
i += 1;
}
tabBarButton.frame =CGRectMake(btnW*i, 0, btnW, btnH);
i ++;
}
}
self.plushBtn.center =CGPointMake(self.frame.size.width * 0.5, self.frame.size.height * 0.5);
}
- 自定义UITabBar--实现类似新浪微博中间的发送按钮
- UITabBar实现中间大按钮
- UITabBar自定义方式四(中间无按钮)
- 仿新浪微博IOS客户端(v5.2.8)——自定义UITabBar替换系统默认的(添加“+”号按钮)
- UITabBar自定义方式三(中间有按钮)
- UITabBar自定义,顶部曲线,中间按钮突出(OC)
- android-pulltorefresh-类似新浪微博下拉更新的实现
- 实现类似新浪微博@人功能
- [iOS]类似新浪微博或者人人客户端中,中间UITabBarItem只有图片,使图片居中的方法
- 自定义新浪微博分享按钮样式
- 自定义新浪微博分享按钮
- 问题解决:自动隐藏UITabBar上面的自定义按钮
- 自定义UITabBar替换系统默认的(添加“+”号按钮)
- 自定义UITabBar替换系统默认的(添加“+”号按钮)
- 猫猫学iOS 之微博项目实战(4)微博自定义tabBar中间的添加按钮
- iOS SDK详解之UITabbar(仿新浪微博的Demo)
- 新浪微博分享按钮接口:样式自定义
- iOS开发-新浪微博自定义tabbar的实现
- php插件机制
- JIRA 常用配置
- C# Statements
- 获取给定区间的随机数(整型)
- Mac hive2.0.1 独立模式安装部署
- 自定义UITabBar--实现类似新浪微博中间的发送按钮
- iOS 屏幕截图
- 第七周项目6--停车场模拟
- 全国天气查询
- 关于svn提交时的冲突的解决方法
- jsb开发1
- win7远程桌面连接ubantu桌面环境
- 4.模仿QQ侧滑删除
- LockSupport 相关