//
// RootViewController.m
// UI5_UIControl
//
// Created by YIem on 15/12/11.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//
import "RootViewController.h"
// UI枚举实现 练习 红黄蓝 + Switch 循环
typedef NS_ENUM(NSUInteger, hhl) {
RedColor,
YellColor,
BlueColor,
};
@interface RootViewController ()
@end
@implementation RootViewController
(void)viewDidLoad {
[super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor whiteColor];
if 0
///******UIcontrol******////
/***< SegmentedConteol 分段控制器>*/
UISegmentedControl *seg = [[UISegmentedControl alloc]initWithItems:@[@"王者", @"大师", @"钻石", @"白金", @"黄金", @"白银", @"青铜"]];
// 设置frame
seg.frame = CGRectMake(50, 100, 300, 50);
// 添加父视图
[self.view addSubview:seg];
[seg release];
// 背景颜色
seg.backgroundColor = [UIColor yellowColor];
// 边框颜色
seg.tintColor = [UIColor blackColor];
// 分段索引 // 初始默认选中为第几位
seg.selectedSegmentIndex = 2;
// 添加一个新的分段
[seg insertSegmentWithTitle:@"卞一" atIndex:0 animated:YES];
// 添加点击事件
// valueChange 值变化时 触发方法
[seg addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged];
endif
if 0
// 练习: 创建分段颜色,红黄蓝 点击改变self.view背景颜色
UISegmentedControl *hhl = [[UISegmentedControl alloc]initWithItems:@[@"红", @"黄", @"蓝"]];
hhl.frame = CGRectMake(100, 100, 100, 40);
[self.view addSubview:hhl];
[hhl release];
hhl.backgroundColor = [UIColor yellowColor];
hhl.tintColor = [UIColor blackColor];
//hhl.selectedSegmentIndex = 0;
[hhl addTarget:self action:@selector(hhlAction:) forControlEvents:UIControlEventValueChanged];
endif
if 0
/***** < slider 滑动控制器>*****/
UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 300, 300, 50)];
slider.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:slider];
[slider release];
// 添加事件
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
// 最大值
slider.maximumValue = 100;
// 最小值
slider.minimumValue = -100;
// 设置起始点
// value控制滑快起始位置
slider.value = -100;
// 滑动过的颜色 左侧颜色
slider.minimumTrackTintColor = [UIColor redColor];
// 滑动过的颜色 右侧颜色
slider.maximumTrackTintColor = [UIColor blackColor];
// 滑快颜色
slider.thumbTintColor = [UIColor greenColor];
// 颜色也可以通过RGB计算
//[UIColor colorWithHue:<#(CGFloat)#> saturation:<#(CGFloat)#> brightness:<#(CGFloat)#> alpha:<#(CGFloat)#>]
endif
if 0
////**** switch 开关 ****////
UISwitch *kaiguan = [[UISwitch alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
kaiguan.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:kaiguan];
[kaiguan release];
// switch 大小 w:51 h:21
NSLog(@"%@", NSStringFromCGRect(kaiguan.frame));
// 开启 状态 的颜色
kaiguan.onTintColor = [UIColor magentaColor];
// 关闭 状态下的颜色
kaiguan.tintColor = [UIColor cyanColor];
// 按钮颜色
kaiguan.thumbTintColor = [UIColor blackColor];
// 添加事件
[kaiguan addTarget:self action:@selector(kaiguanAction:) forControlEvents:UIControlEventValueChanged];
endif
if 0
/**** pageControl 页码控制器 *****/
UIPageControl *page = [[UIPageControl alloc]initWithFrame:CGRectMake(100, 100, 150, 40)];
page.backgroundColor = [UIColor blackColor];
[self.view addSubview:page];
[page release];
// 页数 保证控制器大小和页码数量一致
page.numberOfPages = 8;
// 设置当前页
page.currentPage = 1;
// 页码颜色
page.pageIndicatorTintColor = [UIColor redColor];
// 当前页面颜色
page.currentPageIndicatorTintColor = [UIColor greenColor];
// 添加事件
[page addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];
endif
if 1
/*** stepper 步进控制器*****/
UIStepper *stepper = [[UIStepper alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
stepper.backgroundColor = [UIColor redColor];
[self.view addSubview:stepper];
[stepper release];
// 最小值
stepper.minimumValue = 0;
// 最大值
stepper.maximumValue = 100;
// 每次变化大小
stepper.stepValue = 5;
// 当前起始
stepper.value = 3;
// 值变化是否都显示(响应)
stepper.continuous = YES;
// 安住时是否自动变化
stepper.autorepeat = YES;
// 是否允许从max回到min
stepper.wraps = YES;
[stepper addTarget:self action:@selector(stepperAction:) forControlEvents:UIControlEventValueChanged];
endif
}
pragma mark - 分段控制器触发方法
- (void)segAction:(UISegmentedControl *)seg
{
NSLog(@"index: %ld", seg.selectedSegmentIndex);// 选中下标为2的分段 添加新的分段
if (seg.selectedSegmentIndex == 2) {
[seg insertSegmentWithTitle:@"YIem" atIndex:0 animated:YES];
}
}
pragma mark - 练习
(void)hhlAction:(UISegmentedControl *)hhl
{
NSLog(@"index: %ld", hhl.selectedSegmentIndex);
if (hhl.selectedSegmentIndex == 0) {self.view.backgroundColor = [UIColor redColor];
} else if (hhl.selectedSegmentIndex == 1) {
self.view.backgroundColor = [UIColor yellowColor];
} else if (hhl.selectedSegmentIndex == 2){
self.view.backgroundColor = [UIColor blueColor];
}
}
pragma mark - 滑动控制方法
(void)sliderAction:(UISlider *)slider
{NSLog(@"valie: %f", slider.value);
}
pragma mark - 开关或控制方法
(void)kaiguanAction:(UISwitch *)kaiguan
{
// isOn获取BOOL类型返回值 可以直接作为判断条件
NSLog(@"%d", kaiguan.isOn);
if (kaiguan.isOn) {NSLog(@"开关开启");
}
}
pragma mark - 页码控制触发方法
(void)pageAction:(UIPageControl *)page
{NSLog(@"current: %ld", page.currentPage);
}
///
(void)stepperAction:(UIStepper *)stepper
{NSLog(@" %f",stepper.value);
}
(void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.
}
/*
pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller.
}
*/
@end