首页 > 代码库 > NSTimer,UIActivityIndicatorView,UIProgressView等控件额使用方法
NSTimer,UIActivityIndicatorView,UIProgressView等控件额使用方法
说明
本例子主要简示了和时间相关的一些控件的用法,模拟了一个下载器。
运行结果
主要代码
@synthesize _labelInfo; @synthesize _textInfo; @synthesize _buttonDownload; @synthesize _processViewDownload; @synthesize _activityIndicatorDownload; @synthesize _sliderDownload; @synthesize _switchDownload; @synthesize _timerDownload; - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. _imageBackground = [UIImage imageNamed:@"leaf.jpg"]; self.view.backgroundColor = [UIColor colorWithPatternImage:_imageBackground]; // 位置大小预设值 CGFloat x = self.view.frame.size.width / 8; CGFloat y = self.view.frame.size.height / 10; CGFloat w = x * 6; CGFloat h = 40; CGFloat hEdge = 10; CGFloat cornerRadius = 10; // 标签 _labelInfo = [[UILabel alloc] initWithFrame:CGRectMake(x, y, w, h)]; _labelInfo.text = @"绿豆猪下载"; _labelInfo.textColor = [UIColor greenColor]; _labelInfo.shadowColor = [UIColor redColor]; _labelInfo.shadowOffset = CGSizeMake(2, 3); _labelInfo.textAlignment = NSTextAlignmentCenter; NSArray* arrayFont = [UIFont familyNames]; _labelInfo.font = [UIFont fontWithName:arrayFont[arc4random()%arrayFont.count] size:h-2]; [self.view addSubview:_labelInfo]; // 文本信息栏 y = _labelInfo.frame.origin.y + _labelInfo.frame.size.height; y += 2*hEdge; _textInfo = [[UITextField alloc] initWithFrame:CGRectMake(x, y, w, h)]; _textInfo.placeholder = @"Here is the app infomation list"; _textInfo.layer.cornerRadius = cornerRadius; _textInfo.backgroundColor = [UIColor whiteColor]; [self.view addSubview:_textInfo]; // 猪猪图标按钮 UIImage* imageStart = [UIImage imageNamed:@"pig.png"]; y = _textInfo.frame.origin.y + _labelInfo.frame.size.height; y += hEdge; _buttonDownload = [[UIButton alloc] initWithFrame:CGRectMake(x, y, w/4, h*2)]; [_buttonDownload setImage:imageStart forState:UIControlStateNormal]; _buttonDownload.backgroundColor = [UIColor clearColor]; [_buttonDownload addTarget:self action:@selector(onClickBtn:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:_buttonDownload]; // 下载指示器 _activityIndicatorDownload = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(x+w/2, y, w/4, h)]; //[_activityIndicatorDownload startAnimating]; [self.view addSubview:_activityIndicatorDownload]; // 下载开关 _switchDownload = [[UISwitch alloc] initWithFrame:CGRectMake(x+3*w/4, y, w/4, h)]; [_switchDownload addTarget:self action:@selector(onSwitchChange:) forControlEvents:UIControlEventValueChanged]; [self.view addSubview:_switchDownload]; // 下载进度条 _processViewDownload = [[UIProgressView alloc] initWithFrame:CGRectMake(x + w/4, y + h, 3*w/4, h)]; _processViewDownload.progress = 0; [self.view addSubview:_processViewDownload]; // 下载文件指示器 y = _buttonDownload.frame.origin.y + _buttonDownload.frame.size.height; y += hEdge; _sliderDownload = [[UISlider alloc] initWithFrame:CGRectMake(x, y, w, h)]; [self.view addSubview:_sliderDownload]; } -(IBAction)onClickBtn:(id)sender { _textInfo.text = @"This is green pig app."; } -(IBAction)onSwitchChange:(id)sender { // 启动时显示进度控件,停止时隐藏控件 BOOL bHide = !_switchDownload.isOn; [_sliderDownload setHidden:bHide]; [_activityIndicatorDownload setHidden:bHide]; [_processViewDownload setHidden:bHide]; if(_switchDownload.isOn) { _sliderDownload.value = http://www.mamicode.com/0;>
代码链接
NSTimer,UIActivityIndicatorView,UIProgressView等控件额使用方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。