你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS App開辟中的UISegmentedControl分段組件用法總結

iOS App開辟中的UISegmentedControl分段組件用法總結

編輯:IOS開發綜合

UISegmentedControl分段控件取代了桌面OS上的單選按鈕。不外它的選項個數異常無限,由於你的IOS裝備屏幕無限。當我們須要應用選項異常少的單選按鈕時它很適合。
1、創立


UISegmentedControl* mySegmentedControl = [[UISegmentedControl alloc]initWithItems:nil];


是否是很奇異沒有指定地位和年夜小呢?沒錯,我確切在他的類聲明裡只找到 initWithItems 而未找到 initWithFrame ,所以他不須要指定,不外我看到了另外一個辦法,這個辦法可以設置Item的寬度:

mySegmentedControl setWidth:100 forSegmentAtIndex:0];//設置Item的寬度 

2、屬性

mySegmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;//作風 

可以視應用的場所,有三種作風選擇,以下:

typedef enum { 
    UISegmentedControlStylePlain,     // large plain 有灰邊的年夜白按鈕,合適偏好設置單位 
    UISegmentedControlStyleBordered,  // large bordered 黑邊的年夜白按鈕,實用於表格單位 
    UISegmentedControlStyleBar,       // small button/nav bar style. tintable 小按鈕,合適導航欄 
    UISegmentedControlStyleBezeled,   // large bezeled style. tintable 
} UISegmentedControlStyle; 

假如你應用的是 UISegmentedControlStyleBar 作風,還可以用空間的 tintColor 屬性為全部控件設置襯著顏色:

UIColor *myTint = [[ UIColor alloc]initWithRed:0.66 green:1.0 blue:0.77 alpha:1.0]; 
mySegmentedControl.tintColor = myTint; 

3、添加、刪除片斷
每一個分段控件的片斷都是一個按鈕,個中包括一個標簽或圖片。你須要在你的控件中為每一個控件創立一個片斷。只需屏幕放得下,便可以有很多片斷,但用戶統一時辰只能選擇一個片斷。

[mySegmentedControl insertSegmentWithTitle:@"First" atIndex:0 animated:YES]; 
[mySegmentedControl insertSegmentWithTitle:@"Second" atIndex:2 animated:YES];

每一個
按鈕都被付與一個索引,用這個索排序和標識。
你也能夠添加一個含有圖象的片斷,用inserSegmentWithImage

[mySegmentedControl insertSegmentWithImage:[UIImage imageNamed:@"pic"]  atIndex:3 animated:YES];

刪除片斷

[mySegmentedControl removeSegmentAtIndex:0 animated:YES];//刪除一個片斷 
[mySegmentedControl removeAllSegments];//刪除一切片斷

4、片斷題目

[mySegmentedControl setTitle:@"ZERO" forSegmentAtIndex:0];//設置題目 
NSString* myTitle = [mySegmentedControl titleForSegmentAtIndex:1];//讀取題目 

5、圖象
每一個分段也能夠設置圖象:

[mySegmentedControl setImage:[UIImage imageNamed:@"pic"] forSegmentAtIndex:1];//設置 
UIImage* myImage = [mySegmentedControl imageForSegmentAtIndex:2];//讀取 

留意:圖象不會主動調劑年夜小,圖片多年夜就會原生地顯示多年夜,所以你要告訴做圖的美工年夜小要准確。

6、選平分段
分段控件的默許行動是,一旦按鈕被選中就一向堅持,直到別的一個按鈕被選中為止。你可以轉變這類默許的行動,釀成按鈕按下後很快就主動釋放。將控件的momentary屬性設為YES:

mySegmentedControl.momentary = YES; 

留意:開啟這個功效後點觸片斷不會更新 selectedSegmentedIndex,是以也就沒法經由過程這個屬性獲得以後拔取的片斷。
初始化默許片斷
默許情形下,除非你指定,不然不會有任何片斷被選中。要設置 selectedSegmentedIndex 屬性:

mySegmentedControl.selectedSegmentedIndex = 0; 

7、顯示控件

[parentView addSubview:mySegmentedControl];//添加到父視圖 

或 

self.navigationItem.titleView = mySegmentedControl;//添加到導航欄 

8、讀取控件
經由過程 selectedSegmentedIndex 屬性,可以讀取以後選平分段的值,這個值就是選中片斷的索引號。

int x = mySegmentedControl. selectedSegmentedIndex; 

9、告訴
要吸收片斷拔取的告訴,可以用UIControl類的 addTarget 辦法,為 UIControlEventValueChanged 事宜添加一個舉措:

[mySegmentedControl addTarget:self action:@selector(selected:) forControlEvents:UIControlEventValueChanged]; 

只需選中了一個片斷,你的舉措辦法就會被挪用:

-(void)selected:(id)sender{ 
    UISegmentedControl* control = (UISegmentedControl*)sender; 
    switch (control.selectedSegmentIndex) { 
        case 0: 
            // 
            break; 
        case 1: 
            // 
            break; 
        case 2: 
            // 
            break; 
             
        default: 
            break; 
    } 


10、設置圓角和設置選中色彩為空

UISegmentedControl *seg = [[UISegmentedControl alloc]initWithItems:[NSArray arrayWithObjects:@"設置",@"曉得了", nil]];

seg.frame = CGRectMake(10,0, CGRectGetWidth(self.view.frame) - 20, 35);

seg.center = isbluetoothOffAlerView.center;

seg.layer.borderColor = [UIColor whiteColor].CGColor;

seg.layer.borderWidth = 2;

seg.tintColor = [UIColor whiteColor];

seg.backgroundColor = [UIColor clearColor];

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor], NSForegroundColorAttributeName,[UIFont systemFontOfSize:24],NSFontAttributeName,nil];

[seg setTitleTextAttributes:dic forState:UIControlStateNormal];

seg.layer.cornerRadius = 15;

seg.layer.masksToBounds = YES;

【iOS App開辟中的UISegmentedControl分段組件用法總結】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved