Ios使用按钮自定义segmentcontrol
来源:互联网 发布:福建金税三期软件下载 编辑:程序博客网 时间:2024/06/05 18:25
#import <UIKit/UIKit.h>
@interface PDESegmentControl : UIView
{
NSMutableArray *segmentButtons;
NSMutableArray *buttonImgNames;
}
@property ( readonly , nonatomic ) NSInteger selectedSegmentIndex;
- ( id ) initWithFrame:( CGRect )frame items:( NSArray *)itemArray;
-( void )setSegmentIndex:( NSInteger )index;
//segment control
// NSArray * segmentItems = [NSArray arrayWithObjects: @" 未审批 ", @"已审批 ", nil];
// UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems: segmentItems];
// segmentedControl.frame = CGRectMake(310, 295, 160, 36);
// [segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
// segmentedControl.segmentedControlStyle = UISegmentedControlStyleBordered;
// segmentedControl.selectedSegmentIndex = 0;
// myBorrowRequestType = segmentedControl.selectedSegmentIndex;
// [self.view addSubview:segmentedControl];
@end
#import "PDESegmentControl.h"
#define SEGMENT_UNSELECTED 0
#define SEGMENT_SELECTED 1
@implementation PDESegmentControl
- ( id )initWithFrame:( CGRect )frame
{
self = [ super initWithFrame :frame];
if ( self ) {
// Initialization code
}
return self ;
}
- ( id ) initWithFrame:( CGRect )frame items:( NSArray *)itemArray
{
self = [ super initWithFrame :frame];
if ( self ) {
int segmentCount = [itemArray count ];
segmentButtons = [[ NSMutableArray alloc ]init ];
buttonImgNames = [[ NSMutableArray alloc ]init ];
float segmentWidth = frame. size . width /segmentCount;
for ( int i= 0 ; i<segmentCount; i++) {
UIButton *button = [ UIButton buttonWithType : UIButtonTypeCustom ];
button. frame = CGRectMake (segmentWidth*i,0 ,
segmentWidth, frame. size .height );
if (i== 0 ) { //left
[ buttonImgNames addObject: @"seg_btn_left_nor.png" ];
[ buttonImgNames addObject: @"seg_btn_left_sel.png" ];
} else if (i==segmentCount- 1 ){//right
[ buttonImgNames addObject: @"seg_btn_right_nor.png" ];
[ buttonImgNames addObject: @"seg_btn_right_sel.png" ];
} else { //middle
}
button. tag = i;
[button addTarget : self action: @selector (segmentAction:) forControlEvents: UIControlEventTouchUpInside ];
[button setTitle :[itemArray objectAtIndex:i] forState : UIControlStateNormal ];
[ segmentButtons addObject :button];
[ self addSubview :button];
}
[ self setSegmentIndex : 0 ];
}
return self ;
}
-( void )setSegmentIndex:( NSInteger )index
{
_selectedSegmentIndex = index;
[ self segmentAction :[ segmentButtonsobjectAtIndex :index]];
}
-( void )segmentAction:( id )sender
{
UIButton *button = ( UIButton *)sender;
int tag = button. tag ;
for ( int i= 0 ; i<[ segmentButtonscount ]; i++){
int nameOffset = SEGMENT_UNSELECTED ;
if (tag == i) {
nameOffset = SEGMENT_SELECTED ;
}
UIButton *segButton = [ segmentButtons objectAtIndex :i];
[segButton setBackgroundImage :[ UIImage imageNamed :[ buttonImgNames objectAtIndex :i* 2 +nameOffset]]
forState : UIControlStateNormal ];
}
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
}
*/
@end
- Ios使用按钮自定义segmentcontrol
- Ios使用按钮自定义segmentcontrol
- 自定义segmentControl
- IOS-添加分段控件SegmentControl
- IOS-添加分段控件SegmentControl
- iOS SegmentControl的基本设置
- segmentcontrol
- SegMentControl
- SegmentControl
- segmentControl 在IOS5 使用问题
- SegmentControl的实现与使用
- SegmentControl的实现与使用
- iOS自定义返回按钮
- iOS 自定义按钮
- IOS 使用自定义手势屏蔽按钮解决方法/UITapGestureRecognizer屏蔽Button
- IOS 使用自定义手势屏蔽按钮解决方法/UITapGestureRecognizer屏蔽Button
- iOS:使用Block回调按钮事件(自定义view)
- Android自定义控件使用-仿ios来电接听按钮
- 程序猿白话之——const的妙用
- android 6.0权限管理特性
- swift学习笔记之闭包
- Windows下发布Qt程序
- 【菜鸟嵌入式学习分享】4412开发板Android4.4.4环境的搭建和编译
- Ios使用按钮自定义segmentcontrol
- android 前置service
- NameValueCollection 转换为 Json
- SSH加密原理、RSA非对称加密算法学习与理解
- 解决ASP.NET Web Applicatio超时时间已到.在操作完成之前超时时间已过或服务器未响应
- Android Intent Action详解
- 【总结】Mac版Android Studio常用快捷键总结
- CentOS6.5+PostgreSQL9.5安装参考
- MySQL学习笔记10:修改数据