IOS的segmentedControl(分段器控件)的一些常用屬性 – iPhone手機開發 iPhone軟體開發教學課程

#pragma mark – 創建不同的分段器

//初始化方法:傳入的數組可以是字符串也可以是UIImage對象的圖片數組

UISegmentedControl *mysegmented = [[UISegmentedControl alloc] initWithItems:@[@"左邊",@"我是中間",@"右邊"]];

mysegmented.frame = CGRectMake(50, 200, kScreenWidth-100, 40);

[self.view addSubview: mysegmented];

 

//第二種創建方式

UISegmentedControl *mysegmented2 = [[UISegmentedControl alloc] initWithFrame:CGRectMake(100, 200, 300, 40)];

//animated為NO即表示不是即時修改,等點擊事件結束後再響應

[mysegmented2 insertSegmentWithTitle:@"聊天" atIndex:1 animated:YES];

[mysegmented2 insertSegmentWithTitle:@"通話" atIndex:0 animated:YES];

// [self.view addSubview:mysegmented2];

 

//創建一個圖片數組,用圖片來作為分段器的元素

NSArray *imageArray = @[[UIImage imageNamed: @"prev"],[UIImage imageNamed: @"next"]];

UISegmentedControl *yoursegmented = [[UISegmentedControl alloc] initWithItems:imageArray];

yoursegmented.frame = CGRectMake(100, 450, kScreenWidth-200, 65);

[self.view addSubview: yoursegmented];

 

 

 

#pragma mark – 重設標簽標題和獲取標簽標題

[mysegmented setTitle: @"我是修改過的標簽" forSegmentAtIndex:1];

NSString *titleString = [mysegmented titleForSegmentAtIndex: 1];

NSLog(@"%@", titleString);

//也可以重新設置圖片標簽和獲取標簽圖片

//- (void)setImage:(UIImage *)image forSegmentAtIndex:(NSUInteger)segment;

//- (UIImage *)imageForSegmentAtIndex:(NSUInteger)segment;

 

/* 以下是在ios開發中,對segmentedControl控件的一些屬性的用法解析,隻能用手機查看不能自己運行的也沒有關系,以下內容是帶圖片的。*/

 

#pragma mark – 設置標簽的顏色(默認為blue)以及圖片

//背景顏色

mysegmented.backgroundColor = [UIColor greenColor];

//文字的顏色,邊框的顏色,以及選中的標簽的顏色

mysegmented.tintColor = [UIColor redColor];

//設置標簽的背景圖片,還可以獲取分段器的背景圖片

//[mysegmented setBackgroundImage:[UIImage imageNamed:@"prev"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

//(設置的是整個分段器的背景圖片),UIBarMetrics是一個枚舉,default默認背景圖片充滿整個分段器

 

 

 

#pragma mark – 設置分段器的分割線的圖片(同樣的,也可以獲取圖片)

// – (void)setDividerImage:(UIImage *)piderImage forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState barMetrics:(UIBarMetrics)barMetrics

 

 

#pragma mark – 選中狀態(若不指定下標,那麼根據創建的items順序,下標從0開始增長)

mysegmented.selectedSegmentIndex = 0;

yoursegmented.selectedSegmentIndex = 1;

 

 

 

#pragma mark – numberOfSegments,獲取標簽的個數,隻讀的

NSInteger i = mysegmented.numberOfSegments;

NSLog(@"一共有%ld個標簽",i);

 

 

 

#pragma mark – 設置標簽寬度是否隨內容自適應(設置為NO則表示所有標簽寬度一致為最大的寬度)

mysegmented.apportionsSegmentWidthsByContent = NO;

 

#pragma mark – 插入文字標簽或圖片在index位置

[mysegmented insertSegmentWithTitle: @"我是插入的標簽" atIndex:2 animated:YES];

[yoursegmented insertSegmentWithImage: [UIImage imageNamed: @"next"] atIndex:0 animated:YES];

 

 

#pragma mark – 根據索引刪除標簽或刪除所有標簽

[mysegmented removeSegmentAtIndex: 1 animated: YES];

//[mysegmented removeSegmentAtIndex: 1 animated: NO];

//刪除所有標簽 [mysegmented removeAllSegments];

 

 

 

 

#pragma mark – 根據索引設置相應標簽寬度和獲取標簽寬度

//若setWidth設置為0.0,則默認為自適應寬度

[yoursegmented setWidth: 50.0 forSegmentAtIndex:0];

//獲取標簽寬度

//- (CGFloat)widthForSegmentAtIndex:(NSUInteger)segment;

 

 

 

 

#pragma mark – 設置標簽內容的偏移量和獲取偏移量

[mysegmented setContentOffset: CGSizeMake(20.0, 0) forSegmentAtIndex:0];

//獲取偏移量

//- (CGSize)contentOffsetForSegmentAtIndex:(NSUInteger)segment;

 

 

#pragma mark – 根據索引設置標簽是否有效(默認有效)和獲取是否有效

//- (void)setEnabled:(BOOL)enabled forSegmentAtIndex:(NSUInteger)segment;

//- (BOOL)isEnabledForSegmentAtIndex:(NSUInteger)segment;

 

 

#pragma mark – 點擊事件(可以帶參數)

[mysegmented addTarget:self action:@selector(segmentedAction) forControlEvents:UIControlEventValueChanged];

//這裡需創建另外的視圖控制器進行演示

}

 

//點擊事件

– (void) segmentedAction{

FirstViewController *firstVC = [[FirstViewController alloc] init];

[self.view addSubview:firstVC.view];

//從父視圖上移除 [_firstVC.view removeFromSuperview];

}

 

 

/*

以上是我自己總結的分段器控件的一些基本屬性,剪掉圖片,以上代碼可以直接復制粘貼到自己的工程中運行,可自行查看和修改結果。對以上有異議或者想和我一起討論的,可以加我的qq 78928861,大傢一起討論,一起學習。

*/

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *