iOS基础 -- UISegmentControl
2014-04-03 17:22
218 查看
/** * UISegmentContorl */ NSArray *items = [[NSArray alloc] initWithObjects:@"iPhone",@"iPad",@"iPod",@"iMac", nil]; self.mySegmentControl = [[UISegmentedControl alloc] initWithItems:items]; //NSArray *segments = @[@"iPhone",[UIImage imageNamed:@"ipad.png"],@"iPod",@"iMac"]; //self.mySegmentControl = [[UISegmentedControl alloc] initWithItems:segments]; //CGRect segmentFrame = self.mySegmentControl.frame; //segmentFrame.size.width = 300.0f; //segmentFrame.size.height = 128.0f; //self.mySegmentControl.frame = segmentFrame; self.mySegmentControl.center = self.view.center; [self.mySegmentControl addTarget:self action:@selector(segmentChanged:) forControlEvents:UIControlEventValueChanged]; //self.mySegmentControl.momentary = YES;//won't remain the state [self.view addSubview:self.mySegmentControl];
以上是添加UISegmentControl到当前view。target方法如下:
-(void) segmentChanged:(UISegmentedControl *)paramSender
{
if([paramSender isEqual:self.mySegmentControl]){
NSUInteger segmentIndex = [paramSender selectedSegmentIndex];
NSString *segmentTitle = [paramSender titleForSegmentAtIndex:segmentIndex];
NSLog(@"segment at %ld is %@",(long)segmentIndex,segmentTitle);
}
}
上面的属性设置部分,值得注意的时momentary属性,这个属性表达为在是否只有在操作时,才短暂保留当前的选中的状态,默认状态是NO。
此外UISegmentControl中,各分段也可以是图文混合的方式。当然元素仅限NSString和UIImage两种形式。官方声明如下:
- (id)initWithItems:(NSArray *)items; // items can be NSStrings or UIImages. control is automatically sized to fit content默认是自适应高宽,当然也可以如上例所示自己通过修改frame去修改。
在iOS7中,官方已经弃用了UISegmentControl的segmentedControlStyle属性。
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 探讨Android与iOS,我们将何去何从?
- IOS 身份证校验详细介绍及示例代码
- iOS NSDate中关于夏令时的坑
- iOS内存错误EXC_BAD_ACCESS的解决方法
- 从 Auto Layout 的布局算法谈性能
- 浅谈 MVC、MVP 和 MVVM 架构模式
- 深入解析 ObjC 中方法的结构
- 你真的了解 load 方法么?
- 从源代码看 ObjC 中消息的发送
- vm安装mac os x 10.7 lion
- objective-c(一)
- objective-c(三)
- objective-c(四)-基本数据类型以及循环和选择结构
- objective-c(六)文件分离,合成存取方法,方法多参数,局部变量,self使用(未完成)