iOS - UIStepper

  1. 云栖社区>
  2. 博客>
  3. 正文

iOS - UIStepper

QianChia 2016-08-10 02:22:00 浏览691
展开阅读全文

前言

    NS_CLASS_AVAILABLE_IOS(5_0) __TVOS_PROHIBITED @interface UIStepper : UIControl
    @available(iOS 5.0, *)                         public class UIStepper : UIControl

1、UIStepper 的创建

  • Objective-C

        UIStepper *stepper = [[UIStepper alloc] init];
    
        [self.view addSubview:stepper];                                         
  • Swift

        let stepper:UIStepper = UIStepper()
    
        self.view.addSubview(stepper)

2、UIStepper 的设置

  • Objective-C

        // 设置 frame
        /*
            大小由系统确定
        */
        stepper.frame = CGRectMake(10, 30, 0, 0);
    
        // 设置位置
        stepper.center = self.view.center;
    
        // 设置最大和最小值
        stepper.minimumValue = 0;
        stepper.maximumValue = 100;
    
        // 设置当前值
        stepper.value = 30;
    
        // 获取当前值
        double value = stepper.value;
    
        // 设置一步的大小
        stepper.stepValue = 5;
    
        // 设置背景颜色
        stepper.backgroundColor = [UIColor grayColor];
    
        // 标题及边框颜色
        stepper.tintColor = [UIColor redColor];
    
        // 设置背景图片
        [stepper setBackgroundImage:[UIImage imageNamed:@"pic2"] forState:UIControlStateNormal];
        [stepper setBackgroundImage:[UIImage imageNamed:@"pic1"] forState:UIControlStateHighlighted];
    
        // 设置加减号图标
    
            // 设置加号图标
            [stepper setIncrementImage:[[UIImage imageNamed:@"volum+"] 
                                              imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] 
                            forState:UIControlStateNormal];
            // 设置减号图标
            [stepper setDecrementImage:[[UIImage imageNamed:@"volum-"] 
                                              imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] 
                            forState:UIControlStateNormal];
    
        // 设置中间分割线图标
        [stepper setDividerImage:[UIImage imageNamed:@"divid"] forLeftSegmentState:UIControlStateNormal 
                                                                 rightSegmentState:UIControlStateNormal];
    
        // 设置按住不放是否连续更改值
        stepper.continuous = YES;
    
        // 设置是否循环
        /*
            到最大值时再增加数值从最小值开始,到最小值时再减小数值从最大值开始
        */
        stepper.wraps = YES;
    
        // 添加点击触发事件
        [stepper addTarget:self action:@selector(stepperClick:) forControlEvents:UIControlEventValueChanged];
  • Swift

        // 设置 frame
        /*
            大小由系统确定
        */
        stepper.frame = CGRectMake(10, 30, 0, 0)
    
        // 设置位置
        stepper.center = self.view.center
    
        // 设置最大和最小值
        stepper.minimumValue = 0
        stepper.maximumValue = 100
    
        // 设置当前值
        stepper.value = 30
    
        // 获取当前值
        let value:Double = stepper.value
    
        // 设置一步的大小
        stepper.stepValue = 5
    
        // 设置背景颜色
        stepper.backgroundColor = UIColor.grayColor()
    
        // 标题及边框颜色
        stepper.tintColor = UIColor.redColor()
    
        // 设置背景图片
        stepper.setBackgroundImage(UIImage(named: "pic2"), forState: .Normal)
        stepper.setBackgroundImage(UIImage(named: "pic1"), forState: .Highlighted)
    
        // 设置加减号图标
    
            // 设置加号图标
            stepper.setIncrementImage(UIImage(named: "volum+")?.imageWithRenderingMode(.AlwaysOriginal), 
                             forState: .Normal)         
            // 设置减号图标
            stepper.setDecrementImage(UIImage(named: "volum-")?.imageWithRenderingMode(.AlwaysOriginal), 
                             forState: .Normal)
    
        // 设置中间分割线图标
        stepper.setDividerImage(UIImage(named: "divid"), forLeftSegmentState: .Normal, 
                                                           rightSegmentState: .Normal)
    
        // 设置按住不放是否连续更改值
        stepper.continuous = true
    
        // 设置是否循环
        /*
            到最大值时再增加数值从最小值开始,到最小值时再减小数值从最大值开始
        */
        stepper.wraps = true
    
        // 添加点击触发事件
        stepper.addTarget(self, action: #selector(UiStepper.stepperClick(_:)), forControlEvents: .ValueChanged)

3、Storyboard 中设置

  • 在 Storyboard 场景中设置

    • Stepper 设置

      Stepper1

      Value 最小值/最大值/当前值/步进值
      Behavior
      -- Autorepeat
      -- Continuous 连续更改值
      -- Wrap 循环改变值
    • Control 设置

      Stepper2

      Alignment 文字对齐方式
      Content
      -- Selected 选中
      -- Enable 可用
      -- Highlighted 高亮

网友评论

登录后评论
0/500
评论