NSSegmentAndSlider
来源:互联网 发布:java异常处理关键字 编辑:程序博客网 时间:2024/06/17 06:17
#import "RootViewController.h"
@interface RootViewController ()
@end
@implementation RootViewController
- (void)loadView
{
[super loadView];
self.rootView = [[RootView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.view = self.rootView;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
//给segment添加点击事件(触发事件 UIcontrolEvent valueChange)
[self.rootView.segment addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
//给slider添加触发事件 (触发事件也是Valuechanged)
[self.rootView.slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
}
#pragma mark - slider 触发事件
- (void)sliderAction:(UISlider *)sender
{
/*
//获取到黑色view 的方法 viewWithTag:
UIView *blackview =[self.rootView viewWithTag:1111];
//根据slider滑块的位置改变透明度 sender.value 可以拿到值
blackview.alpha = 1 - sender.value;
NSLog(@"value = %.2f" , sender.value);
*/
//1.先找到图片
UIImageView *imageView =(UIImageView *)[self.rootView viewWithTag:2222];
//2.让图片播放速度和滑块的value产生关系
imageView.animationDuration = 1 - sender.value;
//3只要图片的播放速度改变了,必须让imageView重新开始播放
[imageView startAnimating];
}
int a = 0;
#pragma mark - segment 点击事件
- (void)segmentAction:(UISegmentedControl *) sender
{
NSLog(@"*****");
//根据下标ValueChange打印不同的话
switch (sender.selectedSegmentIndex ) {
case 0:
{
NSLog(@"我是全部");
//7给segment设置Title
if (a % 2 == 0 ) {
[self.rootView.segment setTitle:@"刘敦辉" forSegmentAtIndex:0];
}
if (a % 2 == 1) {
[self.rootView.segment setTitle:@"全部" forSegmentAtIndex:0];
}
a++;
}
break;
case 1:
{
NSLog(@"我是分类");
//8 给segment添加一个分段
[sender insertSegmentWithTitle:@"泰迪" atIndex:0 animated:YES];
}
break;
//保证删除操作在添加操作以后
case 3:
{
NSLog(@"我是进行中");
//移除某一个分段 (segment 移除操作 必须保证, 移除之后的分段 > 或者 == 初始化时候给的分段的个数)
[sender removeSegmentAtIndex:0 animated:YES];
}
break;
default:
break;
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)dealloc
{
[_rootView release];
[super dealloc];
}
@end
//********************************************************************************************************//
#import "RootView.h"
@implementation RootView
-(instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self addSubviews];
}
return self;
}
- (void)addSubviews
{
self.backgroundColor = [UIColor whiteColor];
//创建segment
NSArray *arr = @[@"全部" , @"分类" , @"进行中"];
self.segment = [[UISegmentedControl alloc] initWithItems:arr];
//设置segment的属性
//1.设置frame
self.segment.frame = CGRectMake(20, 50, 200, 30);
//2设置默认属性 //默认为没有
self.segment.selectedSegmentIndex = 0;
//设置每一分段的宽度 注意总共的宽度
[self.segment setWidth:100 forSegmentAtIndex:1];
//摸一个分段选中后是否让他出入选中状态 默认为no
self.segment.momentary = YES;
//改变segment的渲染颜色
self.segment.tintColor = [UIColor orangeColor];
//给segment添加点击事件
//添加到rootView上
[self addSubview:self.segment];
[self.segment release];
//黑色的布景
UIView *blackview = [[UIView alloc] initWithFrame:self.frame];
blackview.tag = 1111;
blackview.backgroundColor = [UIColor blackColor] ;
[self addSubview:blackview];
[blackview release];
//alpha为透明度 一旦一个view的透明度变为0 代表整个view就相当于消失了一样
// blackview.alpha = 0.1;
//添加uiSlider 滑块
self.slider = [[UISlider alloc] initWithFrame:CGRectMake(20, 300, 300, 20)];
//给slider设置属性
//1 设置已经画过的区域的颜色
self.slider.minimumTrackTintColor = [UIColor redColor];
//2 未划过的区域改变颜色
self.slider.maximumTrackTintColor = [UIColor yellowColor];
//3设置滑块的值的范围
self.slider.minimumValue = 0.0;
self.slider.maximumValue = 1.0;
// (默认为 yes) 控制该控件是否连续触发滑动事件
//self.slider.continuous = NO;
//给滑块设置图片 png格式可以不用写
[self.slider setThumbImage:[UIImage imageNamed:@"~21`3]MC2DGHFY9{%S@O[9K.png"] forState:NO];
//添加属性
[self addSubview:self.slider];
[self.slider release];
/*
//给rootView添加图片
//如果imageView没有设置frame大小 默认是imageView 里边的imaged的size的大小
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"395636.jpg"]];
//设置imageView的frame
imageView.frame = CGRectMake(100, 200, 100, 100);
//imageView.frame = [UIScreen mainScreen].bounds;
[self addSubview:imageView];
[imageView release];
*/
NSMutableArray *arr1 = [NSMutableArray array];
for (int i = 1; i < 8; i++) {
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"huoju_%d.tiff" , i]];
[arr1 addObject:image];
}
UIImageView *imageview = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
//把放进数组的图片给imageView
imageview.animationImages = arr1;
//设置一下播放的参数问题
imageview.animationDuration = 1;
//设置一下播放的参数问题
imageview.animationRepeatCount = 0;
imageview.tag = 2222;
//播放开始
[imageview startAnimating];
[self addSubview:imageview];
}
- (void)dealloc
{
[_segment release];
[_slider release];
[super dealloc];
}
- NSSegmentAndSlider
- SDKD Summer Team Contest F
- 南邮 OJ 1503 漏洞修复
- twisted中defer的关键用法
- poj-2049-Finding Nemo-BFS
- 详解Python中yield生成器的用法
- NSSegmentAndSlider
- 南邮 OJ 1504 进制转换
- UI04_Delegate
- android json解析使用总结(一)
- Uniform Generator
- eclipse中安装freemarker插件及ftl使用freemarker编辑器
- AnswersheetService
- 南邮 OJ 1506 选队长
- C#文件操作大全(SamWang)