ios中addtarget的用法

來源:互聯網
上載者:User

標籤:style   io   ar   color   os   使用   sp   for   on   

 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];

    }

}

ios中addtarget的用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.