IOS 控制項 自定義UISlider Slider

2021-06-08 16:18:43 字數 1623 閱讀 2235

在軟體中看到的滑塊都比較好看,在網上找了幾個例子,知道怎麼自定義uislider的樣式和滑塊

先建立

uislider *slider1 = [[uislider alloc] initwithframe:cgrectmake(30, 30, 257, 7)];

再設定顏色和數值範圍以及預設值的大小

slider1.backgroundcolor = [uicolor clearcolor];

slider1.value = 2.0;//預設值

slider1.minimumvalue = 0.5;//最小值

slider1.maximumvalue = 5.0;//最大值

接著就是新增滑動條和滑塊的

兩端新增了相同的,而且長寬和控制項寬度基本一致就不會出現拉伸的效果。。

uiimage * stetchlefttrack = [uiimage imagenamed:@"left.png"];

uiimage * stetchrighttrack = [uiimage imagenamed:@"right.png"];

uiimage *thumbimage = [uiimage imagenamed:@"bu.png"];

[slider1 setminimumtrackimage:stetchlefttrack forstate:uicontrolstatenormal];

[slider1 setmaximumtrackimage:stetchrighttrack forstate:uicontrolstatenormal];

設定滑塊屬性

[slider1 setthumbimage:thumbimage forstate:uicontrolstatehighlighted];

這是為了滑塊在按下的時候滑塊的樣子不會顯示為系統預設的樣子,注視掉可以看得出來

[slider1 setthumbimage:thumbimage forstate:uicontrolstatenormal];

滑動事件

[slider1 addtarget:self action:@selector(slidervaluechanged) forcontrolevents:uicontroleventvaluechanged];

//滑動滑塊時的事件

[slider1 addtarget:self action:@selector(sliderdragup) forcontrolevents:uicontroleventtouchupinside];

//移動滑塊後的事件

[self.view addsubview:slider1];

[slider1 release];

下面是**

- (void)viewdidload

- (void)slidervaluechanged

- (void)sliderdragup

ios 自定義控制項 方法

initwithframe 前面已經見到,程式建立 ui控制項時常常會呼叫該方法執行初始化,因此,如果你需要對 ui控制項執行一些額外的初始化,即可通過重寫該方法來實現。initwithcoder 程式通過在 nib檔案中載入完該控制項後會自動呼叫該方法。因此,如果程式需要在 nib檔案中載入該控制...

iOS自定義控制項 CustomTextView

以前使用輸入框文字限制,基本上是打字過程中階段輸入,效果很不好,特別輸中文的過程中,好不容易用智慧型拼音打了一長串字,結果被自動擷取打斷了,變成了拼音,簡直是氣死寶寶了。後來想了個辦法,就是識別輸入框輸入中文,在使用者把一長串拼音確認轉換為文字之後再擷取。下面看效果 效果 一 使用自動擷取 效果 二...

iOS之自定義控制項

注意 如果使用 方式建立控制項,那麼建立時一定會呼叫initwithframe 方法 如果使用xib stotyboard方式建立控制項,那麼在建立時一定會呼叫initwithcoder 方法 在initwithcoder 裡面訪問屬性,會發現屬性為nil,因為此時自定義好控制項正在初始化,屬性還沒...