iOS中的UIStepper數值加減器用法指南_IOS

來源:互聯網
上載者:User

UIStepper可以連續增加或減少一個數值。控制項的外觀是兩個水平並排的按鈕構成,一個顯示為“+”,一個顯示為“-”。
該控制項的一個有趣的特徵是當使用者按住“+”,“-”按鈕時,根據按住的時間長度,空間值的數字也以不同的數字改變。按住的時間越長,數值改變的越快。可以為UIStepper設定一個數值範圍,比如0-99. 它的顯示效果如下:

1. 屬性說明
value: 當前所表示的值,預設為0.0;
minimumValue: 最小可以表示的值,預設0.0;
maximumValue: 最大可以表示的值,預設100.0;
stepValue: 每次遞增或遞減的值,預設為1.0;

2.如何判斷加("+")減("-")
(1)通過設定一個   double* previousValue;   *// *用來記錄Stepper.value*的上一次值
(2)在對想操作的對象進行操作後,將Stepper.value = 0   

複製代碼 代碼如下:

#pragma mark - 設定UIStepper
- (void)createUIStepper{

    UIStepper * stepperButton = [[UIStepper alloc]initWithFrame:CGRectMake(225, 500, 30, 10)];
    [stepperButton addTarget:self action:@selector(controlStepperValue:) forControlEvents:UIControlEventValueChanged];
    stepperButton.maximumValue = 100.0;
    stepperButton.minimumValue = 0.0;
    stepperButton.value = INITUISTEPPERVALUE;
    stepperButton.stepValue = 1.0;
    stepperButton.continuous = YES;
    stepperButton.wraps = NO;
    stepperButton.autorepeat = YES;
    [self.view addSubview:stepperButton];
    [stepperButton release];

}


複製代碼 代碼如下:

- (void)controlStepperValue:(UIStepper *)stepper{

    if (_segment.selectedSegmentIndex == 0) {
        if (stepper.value > previousValue) {
            CGRect redRect = _redView.frame;
            redRect.size.height += 5;
            _redView.frame = redRect;
        } else {

            CGRect redRect = _redView.frame;
            redRect.size.height -= 5;
            _redView.frame = redRect;
        }
        previousValue = stepper.value;
    }else{
        if (stepper.value > previousValue) {
            CGRect redRect = _greenView.frame;
            redRect.size.height += 5;
            _greenView.frame = redRect;
        } else {

            CGRect redRect = _greenView.frame;
            redRect.size.height -= 5;
            _greenView.frame = redRect;
        }
        previousValue = stepper.value;
    }

}

3.基本用法整理
初始化控制項

複製代碼 代碼如下:

UIStepper * step = [[UIStepper alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

設定控制器值是否連續觸發變化
複製代碼 代碼如下:

@property(nonatomic,getter=isContinuous) BOOL continuous;

若設定為YES,則長按會連續觸發變化,若設定為NO,只有在按擊結束後,才會觸發。
設定長按是否一直觸發變化
複製代碼 代碼如下:

@property(nonatomic) BOOL autorepeat;

若設定為YES,則長按值會一直改變,若設定為NO,則一次點擊只會改變一次值
設定控制器的值是否迴圈(到達邊界後,重頭開始,預設為NO)
複製代碼 代碼如下:

@property(nonatomic) BOOL wraps;

設定控制器的值
複製代碼 代碼如下:

@property(nonatomic) double value;

設定控制器的最大值和最小值
複製代碼 代碼如下:

@property(nonatomic) double minimumValue;//預設為0
@property(nonatomic) double maximumValue; //預設為100

設定控制器的步長
複製代碼 代碼如下:

@property(nonatomic) double stepValue;

設定控制器風格顏色
複製代碼 代碼如下:

@property(nonatomic,retain) UIColor *tintColor;

設定控制器背景圖片
複製代碼 代碼如下:

- (void)setBackgroundImage:(UIImage*)image forState:(UIControlState)state;

擷取背景圖片
複製代碼 代碼如下:

- (UIImage*)backgroundImageForState:(UIControlState)state;

通過左右按鈕的狀態設定分割線的圖片
複製代碼 代碼如下:

- (void)setDividerImage:(UIImage*)image forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState;

擷取分割線圖片
複製代碼 代碼如下:

- (UIImage*)dividerImageForLeftSegmentState:(UIControlState)state rightSegmentState:(UIControlState)state;

設定和擷取加號按鈕的圖片
複製代碼 代碼如下:

- (void)setIncrementImage:(UIImage *)image forState:(UIControlState)state;
- (UIImage *)incrementImageForState:(UIControlState)state;

設定和擷取減號按鈕的圖片
複製代碼 代碼如下:

- (void)setDecrementImage:(UIImage *)image forState:(UIControlState)state;
- (UIImage *)decrementImageForState:(UIControlState)state;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.