关闭

UISegmentedControl

标签: UI控件切换界面
141人阅读 评论(0) 收藏 举报
分类:

初始化

初始化的数组中 必须是 字符串 或者 图片
如果选用图片初始化 必须使用镂空图

NSArray *itemArray = @[@"第一段",@"第二段",@"第三段"];

分段按钮

UISegmentedControl *segment = [[UISegmentedControl alloc]initWithItems:itemArray];

设置位置

segment.frame = CGRectMake(20, 100, 300, 50);

设置背景颜色

segment.backgroundColor = [UIColor cyanColor];

设置默认选中(从0开始)

segment.selectedSegmentIndex = 1;

修改选中颜色

segment.tintColor = [UIColor yellowColor];

修改中间段的宽度

[segment setWidth:200 forSegmentAtIndex:1];

添加到父视图上

[self.view addSubview:segment];

释放

[segment release]

创建控制器

注意 : 这里先用属性声明了 所有直接这样写
属性的声明

把控制器 改成属性 变量调用
@property (nonatomic ,retain)SecondViewController *secondVC;
@property (nonatomic ,retain)ThirdViewController *thirdVC;
@property (nonatomic ,retain)FourViewController *fourVC;
self.secondVC = [[SecondViewController alloc]init];

添加子控制器 并且显示视图

[self addChildViewController:self.secondVC];
[self.view addSubview:self.secondVC.view];

释放

[_secondVC release];

初始化一个图片

注意这里的图片是镂空图 而且还是PNG格式 如果不是PNG格式
则要把什么格式加上例如

@"01-refresh.jpg"
UIImage *image1 = [UIImage imageNamed:@"01-refresh"];

添加一个点击事件

选取ValueChanged 实际上是监测的 索引的变化

重点方法 我们监测的是值的变化 所以我们要注意UIControlEventValueChanged

[segment1 addTarget:self action:@selector(segmentAction:) forControlEvents:(UIControlEventValueChanged)];

最前面的应该是segment1 然后是默认选中第一界面视图 secondVC.view

[self.view bringSubviewToFront:self.secondVC.view];
    [self.view bringSubviewToFront:segment1];

实现点击方法

- (void)segmentAction:(UISegmentedControl *)segment
{
    需求  判断出点击了那个分段按钮
    NSLog(@"%ld",segment.selectedSegmentIndex);
    每个分段按钮 控制一个界面 每个界面是一个控制器来控制 并且可以切换界面
    通过索引切换不同的页面
    switch (segment.selectedSegmentIndex) {
        case 0:
            [self.view bringSubviewToFront:self.secondVC.view];
            break;
        case 1:
            [self.view bringSubviewToFront:self.thirdVC.view];
            break;
        case 2:
            [self.view bringSubviewToFront:self.fourVC.view];
            break;

        default:
            break;
    }
    每次都把segment放到最上面
    [self.view bringSubviewToFront:segment];
 }
UI学习第六天
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10590次
    • 积分:438
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:15篇
    • 译文:1篇
    • 评论:1条
    文章分类
    最新评论