中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS開發3:UISlider控件

發布時間:2020-06-16 01:28:19 來源:網絡 閱讀:971 作者:江山風雨 欄目:移動開發

如下圖,UISlider控件是一個像滑動變阻器一樣的控件。 圖中的圓圈處在不同位置會有不同的值,當圓圈移動時會發送“ValueChanged”事件。

iOS開發3:UISlider控件

1.首先簡單介紹UISlider的使用:當滑動圓圈時在UILabel中顯示相應的值。

(1)如下圖,新建Single View Application項目文件,命名為“UISliderTest”。

iOS開發3:UISlider控件 iOS開發3:UISlider控件

 

(2)選中ViewController_iPhone.xib,將其Size屬性修改為None值。并向其中添加一個UILabel控件和一個UISlider控件,將UILabel的默認值修改為50,修改UISlider的最小值為0,最大值為100.

iOS開發3:UISlider控件

iOS開發3:UISlider控件

 

(3)給UILabel控件添加映射,Connection類型為Outlet。切換到ViewController.m文件,在語句:

  1. @implementation ViewController  

后添加:

  1. @synthesize labelSlider; 

iOS開發3:UISlider控件

(4)給UISlider控件添加映射,Connection類型為Action,Event類型為Value Changed。

iOS開發3:UISlider控件

添加完后切換到ViewController.m文件中在@end前可見如下語句:

iOS開發3:UISlider控件

 

在該響應函數中添加如下代碼,以完成我們需要的任務:

  1. int progressAsInt = (int)round(sender.value); 
  2. labelSlider.text = [NSString stringWithFormat:@"%i", progressAsInt]; 

運行程序,見如下:

 

iOS開發3:UISlider控件 iOS開發3:UISlider控件

 

 

2.這里我們介紹一下自定義UICircularSlider滑塊控件的使用。

改變上面的UISlider控件的值,對應的圓形環狀滑塊UICircularSlider控件的圓圈也隨之滑動;

(1)UICircularProgressView是一款自由軟件,這個自由軟件可免費獲取。我們首先導入UICircularSlider類源文件。我們可在項目文件夾中新建一個UICircularSlider文件夾,然后將UICircularSlider類源文件添加到該文件夾中:

iOS開發3:UISlider控件

 

(2)如下圖,我們導入上面一步新建的文件夾。

iOS開發3:UISlider控件

iOS開發3:UISlider控件

(3)選擇ViewController_iPhone.xib文件,向界面中添加一個View控件。選中該View控件,修改其Width和Height屬性均為150。將其背景色由White Color修改為Default,因為圓環的顏色為白色,如果不修改的話看不出原來的顏色。當然,如果你想修改為其它顏色也是可以的。

iOS開發3:UISlider控件 iOS開發3:UISlider控件

(4)修改View的Class類開為UICircularSlider:

iOS開發3:UISlider控件

 

(5)在ViewController.h頭文件中添加前向聲名代碼:

  1. @class UICircularSlider; 

給UICircularSlider控件添加IBOutlet變量和IBAction響應函數。

iOS開發3:UISlider控件 iOS開發3:UISlider控件

給UISlider控件也添加IBOutlet變量。

iOS開發3:UISlider控件

可見在ViewController.h文件中添加了三行代碼:

  1. @property (weak, nonatomic) IBOutlet UICircularSlider *circularSlider; 
  2. @property (weak, nonatomic) IBOutlet UISlider *slider; 
  3. - (IBAction)circularSliderChanged:(UISlider *)sender; 

在如下代碼:

  1. @implementation ViewController 
  2. @synthesize labelSlider; 

后添加代碼:

  1. @synthesize slider; 
  2. @synthesize circularSlider; 

(6)在ViewController.m文件中添加頭文件:

  1. #import "UICircularSlider.h" 

 在ViewDidLoad函數中的

  1. [super viewDidLoad]; 

后添加如下代碼,設置circularSlider的最大、最小值和當前值:

  1. [self.circularSlider setMinimumValue:0]; 
  2. [self.circularSlider setMaximumValue:100]; 
  3. self.circularSlider.value = 50

(7)修改函數:

  1. - (IBAction)sliderChanged:(UISlider *)sender 

中的代碼如下:

  1. - (IBAction)sliderChanged:(UISlider *)sender { 
  2.      
  3.     int progressAsInt = (int)round(sender.value); 
  4.     labelSlider.text = [NSString stringWithFormat:@"%i", progressAsInt]; 
  5.     self.circularSlider.value = progressAsInt

(8)修改函數:

  1. - (IBAction)circularSliderChanged:(UISlider *)sender 

中的代碼如下:

  1. - (IBAction)circularSliderChanged:(UISlider *)sender { 
  2.      
  3.     int progressAsInt = (int)round(sender.value); 
  4.     labelSlider.text = [NSString stringWithFormat:@"%i", progressAsInt]; 
  5.     self.slider.value = progressAsInt

 

 

運行程序,見如下效果:

iOS開發3:UISlider控件 iOS開發3:UISlider控件

 

附件:http://down.51cto.com/data/2362770
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平潭县| 栾城县| 盐池县| 安福县| 泰和县| 临清市| 大名县| 隆林| 宾阳县| 岳阳市| 巴林右旗| 神木县| 日照市| 东丽区| 湘阴县| 梁河县| 丹东市| 阳谷县| 邵阳市| 敦煌市| 汉沽区| 邯郸县| 涞源县| 阿城市| 临泉县| 平潭县| 哈尔滨市| 盐城市| 克什克腾旗| 蛟河市| 诏安县| 榆树市| 金塔县| 常德市| 汾西县| 探索| 县级市| 子洲县| 贵溪市| 同仁县| 洛宁县|