IOS 自定义 UISegmentedControl

来源:互联网 发布:cf淘宝特卖 编辑:程序博客网 时间:2024/04/28 03:17

先看效果。。。。



毫不含糊,直接上代码


  1. -(void)createSegmentedControl{  
  2.       
  3.     NSArray *arr=@[@"提醒"@"历史",@"好友"];  
  4.     UISegmentedControl *segmentedControl = [[UISegmentedControl alloc]initWithItems:arr];  
  5.     if (iPhone4||iPhone5) {  
  6.          segmentedControl.frame = CGRectMake(00180.033.0);  
  7.     }else{  
  8.          segmentedControl.frame = CGRectMake(00240.033.0);  
  9.     }  
  10.      
  11.     segmentedControl.center=CGPointMake(SIZEWIDTH/222);  
  12.   
  13.     ////背景 点击或未点击  
  14.     [segmentedControl setBackgroundImage:[UIImage imageNamed:@"messsegent6"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];  
  15.     [segmentedControl setBackgroundImage:[UIImage imageNamed:@"messsegent5"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];  
  16.      
  17.      
  18.     ////中间的分割线  
  19.     [segmentedControl setDividerImage:[UIImage imageNamed:@"messline"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];  
  20.     [segmentedControl setDividerImage:[UIImage imageNamed:@"messline"] forLeftSegmentState:UIControlStateHighlighted rightSegmentState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];  
  21.       
  22.   
  23.   
  24.   
  25.   
  26.     NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],UITextAttributeTextColor ,[UIColor clearColor],UITextAttributeTextShadowColor ,nil];  
  27.     [segmentedControl setTitleTextAttributes:dic1 forState:UIControlStateNormal];  
  28.       
  29.     NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:HEXRGB(0xf7f539),UITextAttributeTextColor ,[UIColor clearColor],UITextAttributeTextShadowColor ,nil];  
  30.     [segmentedControl setTitleTextAttributes:dic2 forState:UIControlStateSelected];  
  31.     segmentedControl.backgroundColor=[UIColor clearColor];  
  32.     segmentedControl.layer.borderWidth=0.5;  
  33.     segmentedControl.layer.borderColor=[[UIColor whiteColor]CGColor];  
  34.     segmentedControl.layer.masksToBounds=YES;  
  35.     segmentedControl.layer.cornerRadius=16.5;  
  36.     segmentedControl.selectedSegmentIndex=0;  
  37.     [segmentedControl addTarget:self action:@selector(segChange:) forControlEvents:UIControlEventValueChanged];  
  38.   
  39.     self.navigationItem.titleView=segmentedControl;  
  40.       
  41. }  
  42.   
  43. -(void)segChange:(UISegmentedControl *)sender{  
  44.       
  45.       
  46.     switch (sender.selectedSegmentIndex) {  
  47.         case 0:  
  48.    
  49.             break;  
  50.         case 1:  
  51.            
  52.             break;  
  53.   
  54.         case 2:  
  55.          
  56.             break;  
  57.   
  58.         }  
  59.       
  60. }  

0 0
原创粉丝点击