UISegmentedControl之简单应用

来源:互联网 发布:陈奕迅 歌词 知乎 编辑:程序博客网 时间:2024/05/21 15:47

参考 UISegmentedControl

很久之前用OC编写

   //UISegmentedControl    self.segmentControlView = [[UISegmentedControl alloc]initWithItems:@[@"我的",@"公共"]];    //tintColor改变UISegmentedControl默认的选中颜色    self.segmentControlView.tintColor = [UIColor redColor];    [self.segmentControlView setFrame:CGRectMake(10, 300, 200,50 )];    //apportionsSegmentWidthsByContent = YES,UISegmentedControl会根据其内容而改变前提是    [self.segmentControlView setTranslatesAutoresizingMaskIntoConstraints:NO];    [self.segmentControlView addTarget:self action:@selector(segmentControlViewOnClick:) forControlEvents:UIControlEventValueChanged];    self.segmentControlView.apportionsSegmentWidthsByContent = NO;    //momentary = YES , we don't keep showing selected state after tracking ends. default is NO,点击其中一个Item 和uibutton的点击事件一样,显示一下selected state之后恢复普通状态    self.segmentControlView.momentary = YES;    [self.view addSubview: self.segmentControlView];

Swift 于20150120

segmentedControlStyle 在iOS7被Deprecated,由tintColor取代

     segmentView = UISegmentedControl(items: ["行政管理","业务管理","其他"])        //默认状态item字的颜色        let titleTextAttributes = [NSForegroundColorAttributeName : UIColor.blackColor() as AnyObject]        segmentView.setTitleTextAttributes(titleTextAttributes, forState: UIControlState.Normal)          //选中状态item字的颜色        segmentView.setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.redColor() as AnyObject], forState: UIControlState.Selected)        //选中状态item的颜色        segmentView.tintColor = kMainSettingColor        //momentary=true显示一下selected state之后恢复普通状态        segmentView.momentary = false//        segmentView.backgroundColor = UIColor.lightGrayColor()        segmentView.frame = CGRectMake(10, 10, CGRectGetWidth(self.view.frame)-20, CGRectGetHeight(segmentView.bounds))        segmentView.selectedSegmentIndex = 0        segmentView.addTarget(self, action: Selector("action_segmentValueChanged:"), forControlEvents: UIControlEvents.ValueChanged)        self.view.addSubview(segmentView)

选中事件:

  func action_segmentValueChanged(sender:UISegmentedControl){        debugPrint(sender.selectedSegmentIndex)    }

Swift附图:

这里写图片描述

0 0