UISlider的基本使用方法


UISlider提供了一個CGFloat的CGRange的范圍的選擇器,就是說給定一個CGRange,然后我們可以從中選擇一個點。

其選擇器樣式如下:

UISlider選擇器

UISlider選擇器

上面這個樣式當然不是iOS 7的自身樣式,是經過一次定制后的。

UISlider跟UISwitch有點兒類似,都是繼承自UIControl,這里步驟就跟UISwitch一樣了,創建一個UISlider對象,然后將UISlider對象添加到一個UIView視圖中。

既然UISlider是表示一個CGRange,那么就有一個最大值(maximumValue)和一個最小值(minimumValue),既然UISlider又是一個選擇器,那么就有一個當前的選擇值(value),這三個值都是UISlider的屬性。

同樣的,UISlider選擇器被改變時,會觸發UIControlEventValueChanged的事件,所以我們可以通過添加addTarget:::方法為事件添加處理方法。

就如前面所說,上面所展示的UISlider的樣式是經過定制了的,所以我們同樣可以定制一個UISlider的樣式,樣式同樣有只更改顏色的樣式和圖片樣式,更改UISlider的樣式主要更改三部分:minimumTrackTintColor、maximumTrackTintColor和thumbTintColor。他們分別在UISlider對應的位置如下:

UISlider的樣式修改三部分

代碼事例:

//
//  XCViewController.m
//  UISlider的基礎知識
//
//  Created by Mr. Right on 13-10-17.
//  Copyright (c) 2013年 XCoder Studio. All rights reserved.
//
 
#import "XCViewController.h"
 
@interface XCViewController ()
 
@property (nonatomic, strong)UISlider * mySlider;
@property (nonatomic, strong)UILabel * myLabel;
 
@end
 
@implementation XCViewController
 
- (void)viewDidLoad
{
    [super viewDidLoad];
 
    // 創建一個UISlider
    _mySlider = [[UISlider alloc] initWithFrame:CGRectMake(0, 0, 200, 23)];
    // 定位UISlider的位置
    _mySlider.center = self.view.center;
    // 設置UISlider的最小值和最大值
    _mySlider.minimumValue = 2;
    _mySlider.maximumValue = 50;
    // 設置UISlider的初始值
    _mySlider.value = 12;
    // 為UISlider添加事件方法
    [_mySlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
 
    // 定義UISlider的樣式
    _mySlider.minimumTrackTintColor = [UIColor redColor];
    _mySlider.maximumTrackTintColor = [UIColor greenColor];
    _mySlider.thumbTintColor = [UIColor blueColor];
 
    // 新建一個UILabel對象
    _myLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 20, 320, 50)];
    // 設置這個UILabel對象的字體為系統字體,大小為當前UISlider的值
    _myLabel.font = [UIFont systemFontOfSize:_mySlider.value];
    _myLabel.text = @"XCoder Studio";
 
    // 將UISlider添加到一個UIView視圖中
    [self.view addSubview:_mySlider];
    // 將UILabel添加到一個UIView視圖中
    [self.view addSubview:_myLabel];
}
 
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
- (void)sliderValueChanged:(id)sender {
    if ([sender isKindOfClass:[UISlider class]]) {
        UISlider * slider = (UISlider *)sender;
        _myLabel.font = [UIFont systemFontOfSize:slider.value];
    }
}
 
@end

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM