【深入浅出IOS开发】重写按钮控件2
来源:互联网 发布:大学男生鞋子推荐知乎 编辑:程序博客网 时间:2024/06/11 23:23
对这里的内容进行第二次封装:
http://blog.csdn.net/ayaseeli/article/details/42204397
#import "MJTabBar.h"#import "MJTabBarButton.h"@interface MJTabBar()/** * 记录当前选中的按钮 */@property (nonatomic, weak) MJTabBarButton *selectedButton;@end@implementation MJTabBar- (void)addTabButtonWithName:(NSString *)name selName:(NSString *)selName{ // 创建按钮 MJTabBarButton *button = [MJTabBarButton buttonWithType:UIButtonTypeCustom]; // 设置图片 [button setBackgroundImage:[UIImage imageNamed:name] forState:UIControlStateNormal]; [button setBackgroundImage:[UIImage imageNamed:selName] forState:UIControlStateSelected]; // 添加 [self addSubview:button]; #warning UIControlEventTouchDown : 手指一按下去就会触发这个事件 // 监听 [button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchDown]; // 默认选中第0个按钮 if (self.subviews.count == 1) { [self buttonClick:button]; }}- (void)layoutSubviews{ [super layoutSubviews]; int count = self.subviews.count; for (int i = 0; i<count; i++) { MJTabBarButton *button = self.subviews[i]; button.tag = i; // 设置frame CGFloat buttonY = 0; CGFloat buttonW = self.frame.size.width / count; CGFloat buttonH = self.frame.size.height; CGFloat buttonX = i * buttonW; button.frame = CGRectMake(buttonX, buttonY, buttonW, buttonH); }}/** * 监听按钮点击 */- (void)buttonClick:(MJTabBarButton *)button{ // 0.通知代理 if ([self.delegate respondsToSelector:@selector(tabBar:didSelectButtonFrom:to:)]) { [self.delegate tabBar:self didSelectButtonFrom:self.selectedButton.tag to:button.tag]; } // 1.让当前选中的按钮取消选中 self.selectedButton.selected = NO; // 2.让新点击的按钮选中 button.selected = YES; // 3.新点击的按钮就成为了"当前选中的按钮" self.selectedButton = button;}@end
0 0
- 【深入浅出IOS开发】重写按钮控件2
- 【深入浅出IOS开发】重写按钮控件2
- 【深入浅出IOS开发】彩票-重写按钮控件
- 【深入浅出IOS开发】彩票-重写按钮控件
- IOS开发:按钮控件
- UIButton按钮控件-iOS开发
- 【深入浅出IOS开发】彩票-按钮中图片的拉伸
- 【深入浅出IOS开发】彩票-按钮中图片的拉伸
- UIButton 按钮控件-IOS开发
- UIButton 按钮控件-IOS开发
- UIButton 按钮控件-IOS开发
- UIButton 按钮控件-IOS开发
- UIButton 按钮控件-IOS开发
- UIButton 按钮控件-IOS开发
- UIButton 按钮控件-IOS开发
- iOS开发基础控件--按钮(UIButton)
- IOS开发之按钮控件Button详解
- 【深入浅出ios开发】NSNotificationCenter
- 对所编函数输入x=[1:1:5];y=[5:1:9];z=[1:0.1:5];求出对应的拉格朗日插值函数
- 多线程-NSThread
- 修理硬碟四大步驟(現已不適用)
- Android 资源目录配置修饰符
- Android客户端添加代理访问网络
- 【深入浅出IOS开发】重写按钮控件2
- HDU 1540 Tunnel Warfare(线段树单点更新+区间合并)
- 用txt写HelloWorld
- Linux判断文件描述符是否有效
- 算法思考
- android设置默认程序&清除默认设置
- 個人電腦(基礎知識)
- Day18-下拉列表控件
- ubuntu开启sshd服务