Objective-C Learning Notes - UISegmentControl
按钮栏
可以结合使用索引和实例方法 titleForSegmentAtIndex 来获取每个分段的标题.要获取分段控件中当前选定的标题,可以使用以下代码段:
[mySegment titleForSegmentAtIndex:mySegment.selectSegmentIndex];
动态实现:
#import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (strong,nonatomic)UISegmentedControl *mySegmentControl; @end
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize mySegmentControl;
- (void)viewDidLoad {
[super viewDidLoad];
NSArray *segmentdArray = [[NSArray alloc]initWithObjects:@"1",@"2",@"3",@"4", nil];
UISegmentedControl *segmentTemp = [[UISegmentedControl alloc]initWithItems:segmentdArray];
mySegmentControl = segmentTemp;
mySegmentControl.frame = CGRectMake(60.0, 9.0, 200.0, 50.0);
[mySegmentControl setTitle:@"two" forSegmentAtIndex:1];
[mySegmentControl setImage:[UIImage imageNamed:@"1.png"] forSegmentAtIndex:3];
[mySegmentControl insertSegmentWithImage:[UIImage imageNamed:@"0.jpg"] atIndex:2 animated:NO];
[mySegmentControl insertSegmentWithTitle:@"insert" atIndex:3 animated:NO];
[mySegmentControl removeSegmentAtIndex:0 animated:NO];
[mySegmentControl setWidth:70.0 forSegmentAtIndex:2];
[mySegmentControl setContentOffset:CGSizeMake(9.0, 9.0) forSegmentAtIndex:1];
UIImageView *imageForSegmentAtIndex = [[UIImageView alloc]initWithImage:[mySegmentControl imageForSegmentAtIndex:1]];
imageForSegmentAtIndex.frame = CGRectMake(60.0, 100.0, 30.0, 30.0);
UILabel *titleForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(100.0, 100.0, 30.0, 30.0)];
titleForSegmentAtIndex.text = [mySegmentControl titleForSegmentAtIndex:0];
UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(140.0, 100.0, 30.0, 30.0)];
numberOfSegments.text = [NSString stringWithFormat:@"%lu",(unsigned long)mySegmentControl.numberOfSegments];
UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0, 100.0, 70.0, 30.0)];
widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f",[mySegmentControl widthForSegmentAtIndex:2]];
mySegmentControl.selectedSegmentIndex = 2;
mySegmentControl.tintColor = [UIColor redColor];
mySegmentControl.momentary = YES;
[mySegmentControl setEnabled:NO forSegmentAtIndex:4];
BOOL enableFlag = [mySegmentControl isEnabledForSegmentAtIndex:4];
NSLog(@"%d", enableFlag);
[self.view addSubview:widthForSegmentAtIndex];
[self.view addSubview:numberOfSegments];
[self.view addSubview:titleForSegmentAtIndex];
[self.view addSubview:imageForSegmentAtIndex];
[self.view addSubview:mySegmentControl];
//[mySegmentControl removeAllSegments];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end