zoukankan      html  css  js  c++  java
  • ios中addtarget的用法

     1.addtarget 的。部分使用事件没有直接的操作方式,需要进行调用。就要用addTarget。

    - (void)setupCustomView {

        

        self.customView = [[CHView alloc] init];

        self.customView.translatesAutoresizingMaskIntoConstraints = NO;

        

        [self.view addSubview:self.customView];

        

        NSDictionary *viewsDictionary = @{ @"topLayoutGuide": self.topLayoutGuide,

                                           @"customView": self.customView

                                           };

        [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[topLayoutGuide][customView]|"

                                                                          options:0

                                                                          metrics:nil

                                                                            views:viewsDictionary]];

        [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[customView]|"

                                                                          options:0

                                                                          metrics:nil

                                                                            views:viewsDictionary]];

        

        [self setupSliders];

        [self updateColors];

        [self setupTargetActions];

    }

     

    - (void)setupSliders {

        

        self.customView.trackWidthSlider.maximumValue = 100.0;

        self.customView.gaugeWidthSlider.maximumValue = 100.0;

        self.customView.valueSlider.value = self.customView.gauge.value;

        self.customView.trackWidthSlider.value = self.customView.gauge.trackWidth;

        self.customView.gaugeWidthSlider.value = self.customView.gauge.gaugeWidth;

        self.customView.valueSliderLabel.text = [self formattedStringForFloatValue:(self.customView.gauge.value * 100)];

        self.customView.trackWidthSliderLabel.text = [self formattedStringForFloatValue:self.customView.gauge.trackWidth];

        self.customView.gaugeWidthSliderLabel.text = [self formattedStringForFloatValue:self.customView.gauge.gaugeWidth];

        self.customView.valueSlider.continuous = NO;

        self.customView.trackWidthSlider.continuous = NO;

        self.customView.gaugeWidthSlider.continuous = NO;

    }

     

    - (void)updateColors {

        

        self.customView.valueColorIndicatorView.backgroundColor = self.customView.gauge.textColor;

        self.customView.trackColorIndicatorView.backgroundColor = self.customView.gauge.trackTintColor;

        self.customView.gaugeColorIndicatorView.backgroundColor = self.customView.gauge.gaugeTintColor;

    }

     

    - (void)setupTargetActions {

        

        UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(changeState:)];

        [self.customView.gauge addGestureRecognizer:tapGestureRecognizer];

        

        [self.customView.gaugeStyleSwitch addTarget:self action:@selector(changeGuageStyle:) forControlEvents:UIControlEventValueChanged];

        [self.customView.valueSlider addTarget:self action:@selector(valueSliderChangedValue:) forControlEvents:UIControlEventValueChanged];

        [self.customView.trackWidthSlider addTarget:self action:@selector(trackWidthSliderChangedValue:) forControlEvents:UIControlEventValueChanged];

        [self.customView.gaugeWidthSlider addTarget:self action:@selector(gaugeWidthSliderChangedValue:) forControlEvents:UIControlEventValueChanged];

        

        tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(changeValueColor:)];

        [self.customView.valueColorIndicatorView addGestureRecognizer:tapGestureRecognizer];

        tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(changeTrackColor:)];

        [self.customView.trackColorIndicatorView addGestureRecognizer:tapGestureRecognizer];

        tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(changeGaugeColor:)];

        [self.customView.gaugeColorIndicatorView addGestureRecognizer:tapGestureRecognizer];

    }

     

    #pragma mark - Action Methods

     

    - (void)changeState:(UITapGestureRecognizer *)tapGestureRecognizer {

        

        if (self.customView.gauge.state != CHCircleGaugeViewStateNA) {

            self.customView.gauge.state = CHCircleGaugeViewStateNA;

        } else {

            [self.customView.gauge setValue:self.customView.gauge.value animated:YES];

        }

    }

  • 相关阅读:
    随笔2
    随笔
    关于updateElement接口
    随笔1
    本地访问正常,服务器访问乱码 记录
    Redis (error) NOAUTH Authentication required.解决方法
    tomcat启动很慢 停留在 At least one JAR was scanned for TLDs yet contained no TLDs.
    微信公众号消息回复
    微信公众号 报token验证失败
    idea中web.xml报错 Servlet should have a mapping
  • 原文地址:https://www.cnblogs.com/wcLT/p/4119315.html
Copyright © 2011-2022 走看看