UISegmentedControl选项切换示例
两个选项的切换操作、响应事件、外观自定义这些事,用UISegmentedControl
搞定再合适不过了。
iOS 的UISegmentedControl
算是个比较实用的控件,适合做顶部菜单栏或者列表筛选功能。这个 Demo 直接给你撸好了控件的创建、点击响应、样式修改,省心不少。
像下面这段 Objective-C 代码,就演示了怎么创建控件并加到界面上:
NSArray *titles = @[@"选项 1", @"选项 2"];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:titles];
segmentedControl.frame = CGRectMake(0, 200, 30);
[self.view addSubview:segmentedControl];
选中哪个段就响应哪个事件?那就加个IBAction
,Swift 版本的响应代码也一并贴上了:
@IBAction func segmentedControlValueChanged(_ sender: UISegmentedControl) {
if sender.selectedSegmentIndex == 0 {
print("选择了选项 1")
} else {
print("选择了选项 2")
}
}
控件样式也别忽略,比如改个颜色、字体之类的,用setTitleTextAttributes:forState:
就能搞定:
NSDictionary *attributes = @{NSForegroundColorAttributeName : [UIColor blueColor]};
[segmentedControl setTitleTextAttributes:attributes forState:UIControlStateSelected];
整个 Demo 打包在UISegmentedControllerTest
项目里,应该是个 Xcode 工程,里面有.swift
、.m
文件,还有 Storyboard 之类的资源。你可以照着改,也可以直接拿去复用。
如果你平时写筛选页、标签切换这类功能比较多,建议你看看这个例子,挺省事的。顺带一提,想深入了解Objective-C
或Swift 混编
,可以看看下面这些链接,内容还挺全:
74.71KB
文件大小:
评论区