九种常用控件

目录
  1.1 UISegmentedControl
  1.2 UISwitch
  1.3 UIActivityIndicatorView
  1.4 UISlider
  1.5 UIStepper
  1.6 UIProgressView
  1.7 UITextView
  1.8 UIActionSheet
  1.9 UIAlertView
1.1 UISegmentedControl

NSArray *titleArray=@[@"最新活动",@"我的活动"];

UISegmentedControl *segment =[[UISegmentedControl alloc]initWithItems:titleArray]; segment.frame=CGRectMake(48, 100, 220, 30);

//背景颜色
segment.tintColor=[UIColor orangeColor];

//设置字体大小
[segment setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:15],NSFontAttributeName, nil] forState:UIControlStateNormal];

//添加点击事件
[segment addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];

//设置默认选择项
segment.selectedSegmentIndex=0;

//点击后是否恢复原样
segment.momentary = YES;

//设置某一项宽度
[segmented setWidth:70.0 forSegmentAtIndex:2]; [self.view addSubview:segment];


方法实现

- (void)segmentAction:(UISegmentedControl *)seg{
    
    if (seg.selectedSegmentIndex==0) {
        
        NSLog(@"^o^");
        
    }
    else{
        
        NSLog(@"oo");
        
    }
    
}

1.2 UISwitch

//细节: 开关控件大小是固定的 (大小: 51X31)

UISwitch *mySwitch = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100, 0, 0)];

mySwitch.onTintColor = [UIColor redColor];

mySwitch.tintColor = [UIColor blueColor];

mySwitch.thumbTintColor = [UIColor yellowColor];

[self.view addSubview:mySwitch];

//不要添加touchUpInside事件

[mySwitch addTarget:self action:@selector(dealSwitch:) forControlEvents:UIControlEventValueChanged];


方法实现

-(void)dealSwitch:(UISwitch *)s
{
    NSLog(@"%d",s.isOn);
    
}

1.3 UIActivityIndicatorView

UIActivityIndicatorView *aiv = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];

aiv.center = CGPointMake(160, 240);

[self.view addSubview:aiv];

[aiv startAnimating];

//模拟下载完成
[NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(downloadFinish:) userInfo:aiv repeats:NO];


方法实现

-(void)downloadFinish:(NSTimer *)timer
{
    
    UIActivityIndicatorView *aiv = timer.userInfo;
    [aiv stopAnimating];
    
}

1.4 UISlider

UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(100, 100, 100, 30)];

slider.minimumValue = 0;

slider.maximumValue = 100;

slider.value = 50;

[self.view addSubview:slider];

//事件处理

[slider addTarget:self action:@selector(dealSlider:)
 
 forControlEvents:UIControlEventValueChanged];


方法实现

-(void)dealSlider:(UISlider *)slider
{
    
    NSLog(@"slider value = %f",slider.value);
}
1.5 UIStepper

//演示stepper和文本输入框的联合使用

// 控制购买商品的数据

UITextField *goodsNumTextFiled = [[UITextField alloc] initWithFrame:CGRectMake(20, 100, 70, 30)];

goodsNumTextFiled.borderStyle = UITextBorderStyleRoundedRect;

goodsNumTextFiled.delegate = self;

goodsNumTextFiled.tag = 100;

goodsNumTextFiled.text = @"1";

[self.view addSubview:goodsNumTextFiled];

UIStepper *stepper = [[UIStepper alloc] initWithFrame:CGRectMake(100, 100, 100, 30)];

stepper.minimumValue = 1;

stepper.maximumValue = 999999999999;

stepper.value = 2;

stepper.stepValue = 1; //每次+1

[self.view addSubview:stepper];

//添加事件处理

[stepper addTarget:self action:@selector(dealStepper:) forControlEvents:UIControlEventValueChanged];

方法实现


-(void)dealStepper:(UIStepper *)stepper
{
    //取得textFiled指针
    UITextField *tf = (UITextField *)[self.view viewWithTag:100];
    tf.text = [NSString stringWithFormat:@"%d",(int)stepper.value];
}

1.6 UIProgressView

//创建的同时指定风格

UIProgressView *progressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault];

progressView.frame = CGRectMake(100, 100, 200, 30);

//值的范围是0.0~1.0

progressView.progress = 0.5;

[self.view addSubview:progressView];

//模拟数据下载的过程

[NSTimer scheduledTimerWithTimeInterval:1/60.0 target:self selector:@selector(dealProgress:) userInfo:progressView repeats:YES];

方法实现


-(void)dealProgress:(NSTimer *)timer
{
    
    timer.userInfo;
    pv.progress += 0.004;
    if(pv.progress >=1)
    {
        pv.progress=0;
    }
    
}
1.7 UITextView

UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(10, 30, 300, 450)];

textView.text = @"尽人事,听天命? 非也, 我命由我不由天。";

textView.backgroundColor = [UIColor orangeColor];

textView.font = [UIFont systemFontOfSize:18];

textView.tag = 100;

[self.view addSubview:textView];

1.8 UIActionSheet

UIActionSheet *action = [[UIActionSheet alloc] initWithTitle:@"分享" delegate:self cancelButtonTitle:@"取消按钮" destructiveButtonTitle:nil otherButtonTitles:@"新浪分享",@"微信分享",@"QQ分享",@"短信",@"邮件分享",nil];

[action showInView:self.view];

方法实现


- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
    
    NSLog(@"buttonIndex = %ld",(long)buttonIndex);
    
}

1.9 UIAlertView

1.创建带有输入框的警告视图(带有一个输入框)

UIAlertView *alertView = [[UIAlertView alloc] init];

alertView.alertViewStyle = UIAlertViewStylePlainTextInput;

alertView.title = @"警告";

alertView.message = @"我是警告视图";

[alertView addButtonWithTitle:@"退出"];

[alertView show];

//处理警告视图的事件

//需要遵守协议 UIAlertViewDelegate

alertView.delegate = self;


方法实现

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    
    //获取警告视图中得 输入框的文本, 如何获取?
    
    UITextField *nameTextFiled = [alertView textFieldAtIndex:0];
    
    NSLog(@"nameTextFiled.text = %@",nameTextFiled.text);
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,335评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,895评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,766评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,918评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,042评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,169评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,219评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,976评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,393评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,711评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,876评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,562评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,193评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,903评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,699评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,764评论 2 351

推荐阅读更多精彩内容