国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

從零開始學(xué)ios開發(fā)(五):IOS控件(2),Slider

2019-11-14 20:23:01
字體:
供稿:網(wǎng)友

下面繼續(xù)學(xué)習(xí)ios的其他控件,這次會(huì)使用到的控件有Slider,當(dāng)然還有一些之前已經(jīng)使用過的控件Label。

這次我們不新建一個(gè)PRoject了,當(dāng)然如果你愿意重新創(chuàng)建一個(gè)新的項(xiàng)目也完全可以,我們還是使用上一篇的項(xiàng)目Control Fun

上一篇中,我們最后的成果如下圖所示

我們添加了一個(gè)ImageView,2個(gè)Label和2個(gè)TextField,現(xiàn)在我們繼續(xù)在此基礎(chǔ)上添加其他的控件。

1)添加Slider和Label
Slider類似于一個(gè)滑塊,左右(或者上下)滑動(dòng)來改變數(shù)值,在object library中找到Slider

拖動(dòng)到界面中,并將其拉伸到你所喜歡的長度如下圖


2)設(shè)置Slider的屬性
選中Slider的情況下,查看attributes inspector,在attributes inspector中的Slider欄下有幾個(gè)數(shù)值需要注意,看下圖

其中1表示Slider的滑塊滑到最左邊時(shí)的數(shù)值(最小值),100表示Slider的滑塊滑到最右邊時(shí)的數(shù)值(最大值),50表示Slider的初始值,設(shè)置完成后,slider控件會(huì)根據(jù)設(shè)置的值自動(dòng)調(diào)整位置。

3)添加Label
在slider的邊上添加一個(gè)Label控件,用來顯示slider的當(dāng)前值,添加完成后的樣子如下圖

i)為了界面布局的統(tǒng)一性,把新添加的label和上面的2個(gè)label以右邊為基準(zhǔn)對齊(同時(shí)選中3個(gè)Label,然后選中菜單欄中的Editor>Align>Right Edges,或者快捷鍵command + ])。
ii)將label的內(nèi)容改成50(選中l(wèi)abel后,單擊鍵盤上的return鍵),和slider的初始值一致。
iii)在attributes inspector中找到Alignment,使label文字右對齊。
iv)務(wù)必使新添加的label的長度大于50,因?yàn)閟lider的最大值為100,因此如果label長度和50一直,當(dāng)slider的滑塊移動(dòng)到最右邊時(shí),label會(huì)顯示不下。
好了,label的屬性也設(shè)置完成了,下面開始添加Outlet和Action。

4)為Label添加Outlet,為Slider添加Action
因?yàn)楫?dāng)我們滑動(dòng)slider時(shí),label會(huì)實(shí)時(shí)顯示slider的當(dāng)前值,為了能夠改變label的值,我們需要一個(gè)Outlet來指向label,然后使用Outlet來改變label的值。

添加的方法很簡單,選中l(wèi)abel,按住control鍵拖到BIDViewController.h中,在彈出的框框里,為Outlet取一個(gè)名字叫做sliderLabel,單擊return,完成添加。

添加Action,鼠標(biāo)選中slider,按住control鍵拖到BIDViewController.h中,在彈出的框框里,將Connection改成“Action”,為Action取一個(gè)名字叫做sliderChanged,單擊return,完成添加。

注意上圖中的Event選項(xiàng),這里選的“Value Changed”,也就是說當(dāng)滑塊的位置發(fā)生改變時(shí),就會(huì)觸發(fā)之歌Action。

添加完的BIDViewController.h如下:

復(fù)制代碼
#import <UIKit/UIKit.h>@interface BIDViewController : UIViewController@property (weak, nonatomic) IBOutlet UITextField *nameField;@property (weak, nonatomic) IBOutlet UITextField *numberField;@property (weak, nonatomic) IBOutlet UILabel *sliderLabel;- (IBAction)textFieldDoneEditing:(id)sender;- (IBAction)backgroundTap:(id)sender;- (IBAction)sliderChanged:(id)sender;@end
復(fù)制代碼

BIDViewController.m如下:

復(fù)制代碼
#import "BIDViewController.h"@implementation BIDViewController@synthesize nameField;@synthesize numberField;@synthesize sliderLabel;......- (IBAction)sliderChanged:(id)sender {}
復(fù)制代碼

5)添加code
在sliderChanged添加如下code

- (IBAction)sliderChanged:(id)sender {    UISlider *slider = (UISlider *)sender;    int progressAsInt = (int)roundf(slider.value);    sliderLabel.text = [NSString stringWithFormat:@"%d", progressAsInt];}

代碼還是很好理解的,當(dāng)滑塊位置發(fā)生改變時(shí),觸發(fā)sliderChanged,在sliderChanged中,將sender轉(zhuǎn)換成UISlider對象,然后獲取滑塊位置的當(dāng)前值,然后將當(dāng)前值賦給label。

6)編譯運(yùn)行
command+B編譯
command+R運(yùn)行
正常情況下程序不會(huì)有任何問題,iphone模擬器將會(huì)運(yùn)行起來,然后滑動(dòng)滑塊,label的值會(huì)隨著滑塊位置的不同而跟著改變。

程序運(yùn)行的初始畫面

滑動(dòng)滑塊,label值隨之改變。

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新乐市| 越西县| 浮山县| 南安市| 孝感市| 威宁| 尚志市| 建湖县| 宿松县| 扶余县| 班戈县| 临清市| 察哈| 昌图县| 民权县| 吴川市| 措勤县| 高雄县| 丽水市| 如东县| 凤阳县| 额尔古纳市| 秦皇岛市| 比如县| 克拉玛依市| 鞍山市| 宣化县| 晋江市| 铜梁县| 包头市| 镇雄县| 阿荣旗| 镶黄旗| 株洲县| 湄潭县| 洱源县| 永州市| 股票| 德昌县| 措美县| 阿合奇县|