基础控件(UISwitch_UISegmentControl)等

来源:互联网 发布:报表软件制作 编辑:程序博客网 时间:2024/05/10 13:03

1.UISegmentedControl

{

 NSArray *arr = @[@"小黄",@"小红",@"屎壳郎"];

    //分段控制器  事件驱动型 控件

    UISegmentedControl *seg = [[UISegmentedControl allocinitWithItems:arr];

    //设置frame 默认是均匀分布宽度

    seg.frame = CGRectMake(1010030030);

    //设置指定段的宽度

    [seg setWidth:150 forSegmentAtIndex:1];

    //设置选中背景

    //seg.tintColor = [UIColor redColor];

    //设置背景图片

    [seg setBackgroundImage:[UIImage imageNamed:@"toolBar.png"forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

    //指定段设置内容图片 // 可以设置 原始的图片

    [seg setImage:[[UIImage imageNamed:@"003"imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]forSegmentAtIndex:2];

    //设置内容偏移量

    [seg setContentOffset:CGSizeMake(1010forSegmentAtIndex:0];

    //传入一个字典 字典中写 可以设置字体和字体的颜色

    NSDictionary *dict = @{NSFontAttributeName:[UIFont systemFontOfSize:20],NSForegroundColorAttributeName:[UIColor yellowColor]};

    //修改属性字符串

    [seg setTitleTextAttributes:dict forState:UIControlStateNormal];

    //增加事件

    [seg addTarget:self action:@selector(segClick:) forControlEvents:UIControlEventValueChanged];

    

    [self.view addSubview:seg];

    [seg release];

}

- (void)segClick:(UISegmentedControl *)seg {

    //被点击 段的索引

    NSLog(@"index:%d",seg.selectedSegmentIndex);

    //获取指定段的标题

    NSLog(@"title:%@",[seg titleForSegmentAtIndex:seg.selectedSegmentIndex]);

    //如果 分段 小于 4 那么 插入一个

    if (seg.numberOfSegments < 4) {

        //插入一个 标题分段

        [seg insertSegmentWithTitle:@"小粉" atIndex:1 animated:YES];

        //禁用第0

        [seg setEnabled:NO forSegmentAtIndex:0];

    }

}

 

2.UISlider

    UISlider *slider = [[UISlider allocinitWithFrame:CGRectMake(1020020030)];

    //设置表示的最小值 默认是 0.0

    slider.minimumValue = 0.2;

    //设置最大值

    slider.maximumValue = 1.0;

    //设置最小值一侧的轨道 颜色

    slider.minimumTrackTintColor = [UIColor redColor];

    //设置最大值一侧的轨道颜色

    slider.maximumTrackTintColor = [UIColor purpleColor];

    //设置 小白球的颜色 iOS7 无效了

   // slider.thumbTintColor = [UIColor yellowColor];

    //设置最小值一侧的图片

    slider.minimumValueImage = [UIImage imageNamed:@"003.png"];

    //设置最大值一侧的图片

    slider.maximumValueImage = [UIImage imageNamed:@"002.png"];

    //设置小白球的图片

    //正常状态显示 003图片

    [slider setThumbImage:[UIImage imageNamed:@"003.png"forState:UIControlStateNormal];

    //高亮状态显示 002

    [slider setThumbImage:[UIImage imageNamed:@"002.png"forState:UIControlStateHighlighted];

    //设置默认值

    slider.value = 1.0;

    //设置 长按 滑块是否连续触发事件函数sliderClick:

    slider.continuous = YES;

    //YES 只要手指按住滑块 滑动就会触发函数sliderClick:

    //NO 手指 长按滑块滑动时不会连续触发 停下来的时候才会触发函数sliderClick:

    //使滑块 成为竖直方向 旋转 -90/270

    slider.transform = CGAffineTransformMakeRotation(- M_PI_2);

    //增加事件 控制 self.view 的透明度

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

    [self.view addSubview:slider];

    [slider release];

}

- (void)sliderClick:(UISlider *)slider {

    NSLog(@"value:%f",slider.value);

    self.view.alpha = slider.value;

}

3.UISwitch

-(void)createSwitch{

    //UISwitch:继承自UIControl,间接继承自UIView,事件驱动型控件

    //UISwitch:默认size79*27.frame设置size不起作用。

    UISwitch *switch0 = [[UISwitch alloc]initWithFrame:CGRectMake(4010024050)];

    switch0.backgroundColor = [UIColor yellowColor];

    //1.添加事件

    [switch0 addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventValueChanged];

      //switchAction有手指的触摸事件才会触发

    

    //通过transform 缩放

    switch0.transform = CGAffineTransformScale(sw.transform22);

 

//2.设置初始状态:默认是NO

    switch0.on = YES;

    //3.设置on状态的颜色/图片

    switch0.onTintColor = [UIColor redColor];

    //4.设置off状态的图片

    [self.view addSubview:switch0];

    [switch0 release];

 

  //延迟 2s   self  执行 click:

    [self performSelector:@selector(click:) withObject:sw afterDelay:2];

}

- (void)click:(UISwitch *) sw{

    [sw setOn:YES animated:YES];

}

 

-(void)switchAction:(UISwitch *)switch0{

    NSLog(@"switch.on = %d",switch0.on);

    

    UIActivityIndicatorView *view = (UIActivityIndicatorView *)[self.view viewWithTag:100];

    if (switch0.on) {

        [view startAnimating];

    }

    else{

        [view stopAnimating];

    }

}

 

4. UIActivityIndicatorView

{

    //活动指示器  菊花  风火轮

    /*

     UIActivityIndicatorViewStyleWhiteLarge,// 

     UIActivityIndicatorViewStyleWhite,//白色

     UIActivityIndicatorViewStyleGray,//灰色

     */

    UIActivityIndicatorView *view = [[UIActivityIndicatorView allocinitWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];

    view.frame = CGRectMake(100100100100);

    //开启动画 才会显示

    [view startAnimating];

    

    //2s之后关闭菊花

    [self performSelector:@selector(click:) withObject:view afterDelay:2];

    //设置 风火轮颜色

    //view.color = [UIColor blueColor];

    [self.view addSubview:view];

    [view release];

    //系统自带的网络加载菊花

    //打开之后就会显示在 状态栏

    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

}

- (void)click:(UIActivityIndicatorView *)view {

    if (view.isAnimating) {//判断是否正在转

        [view stopAnimating];//停止转动  就会消失

    }

    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;//关闭网络风火轮

}

5. UIProgressView

{

   //这是显示进入的视图

    //进度条 ----表示下载进度

    UIProgressView *progressView = [[UIProgressView allocinitWithFrame:CGRectMake(1010030030)];

    //设置进度

    progressView.progress = 0;//

    //设置走过进度颜色

   // progressView.progressTintColor = [UIColor redColor];

    //设置轨道颜色

   // progressView.trackTintColor = [UIColor blackColor];

    

    //定时器每隔 一段 时间 self 调用timerUpdate:

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

    

    [self.view addSubview:progressView];

    [progressView release];

}

 

- (void)timerUpdate:(NSTimer *)timer{

    //获取 用户信息  userInfo

    UIProgressView *view = (UIProgressView *)(timer.userInfo);

    if (view.progress < 1.0) {

        view.progress += 0.1;

    }

    if (view.progress == 1.0) {//下载完成弹出一个警告框

        UIAlertView * alertView = [[UIAlertView allocinitWithTitle:@"" message:@"下载完成" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"确定"nil];

        [alertView show];

        [alertView release];

        //下载完成之后要销毁定时器

        [timer invalidate];

    }

}

6. UIStepper

-(void)createStepper{

    //UIStepper:继承自UIControl.事件驱动型控件

    //UIStepper:默认size94*27.frame设置size不起作用

    UIStepper *stepper = [[UIStepper alloc]initWithFrame:CGRectMake(4016010040)];

    //1.设置步长:默认是1,必须大于0

    stepper.stepValue = 10;

    //2.设置当前值

    stepper.value = 5;

    //3.设置min/max:默认范围是0~100

    stepper.minimumValue = 0;

    stepper.maximumValue = 200;

    //4.添加事件

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

    //5.设置值是否连续变化

    stepper.continuous = NO;   

    [self.view addSubview:stepper];

    [stepper release];

    

}

-(void)stepperAction:(UIStepper *)stepper{

    NSLog(@"currentValue = %f",stepper.value);

    //先获取到进度条

    UIProgressView *pro = (UIProgressView *)[self.view viewWithTag:100];

    //根据步进器的value调整progressView的进度

    pro.progress = stepper.value/(stepper.maximumValue - stepper.minimumValue);

}

7.UIWebView

-(void)createWebView{

    //UIWebView:继承自UIView

    UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(564+5self.view.frame.size.width - 10self.view.frame.size.height-64-10)];

    //加载网页

    //1.网址的字符串:@"http://192.168.88.8"

    NSString *str = @"http://192.168.88.8";

    //2.str --> 网址url

    NSURL *url = [NSURL URLWithString:str];

    //3.url --> NSURLRequest

    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    //4.webView加载请求

    [webView loadRequest:request];

    //5.调整页面

    webView.scalesPageToFit = YES;

    //6.代理

    webView.delegate = self;

    [self.view addSubview:webView];

    [webView release];

}

#pragma mark - UIWebViewDelegate相关

-(void)webViewDidFinishLoad:(UIWebView *)webView{

    NSLog(@"加载完成");

}

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{

    NSLog(@"加载失败:%@",error);

}

8.UIAlertView

- (void)btnClick:(UIButton *)button {

    UIAlertView *alertView = [[UIAlertView allocinitWithTitle:@"取钱" message:@"快点取,10s之后会吞卡哟" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"开始取钱"nil];

    

    /*设置不同 类型的警告框

     UIAlertViewStyleDefault = 0,

     UIAlertViewStyleSecureTextInput,//有一个只输入密码的textField

     UIAlertViewStylePlainTextInput,//有一个输入内容的textField

     UIAlertViewStyleLoginAndPasswordInput//可以输入用户和密码的textField

     */

    //alertView.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;

    

    alertView.tag = 1001;

    [alertView show];

    [alertView release];

}

#pragma mark - UIAlertViewDelegate协议

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {

    //判断 警告框的类型

    if (alertView.alertViewStyle == UIAlertViewStyleDefault) {

        if (alertView.tag == 1001) {

            //点击的不是取消按钮

            if (alertView.cancelButtonIndex != buttonIndex) {

                //弹出一个要求输入用户名和密码的警告框

                UIAlertView *view = [[UIAlertView allocinitWithTitle:@"" message:@"加油!加油!..." delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"登陆"nil];

                //设置类型

                view.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;

                [view show];

                //10s  之后  self 执行 viewClick:

                [self performSelector:@selector(viewClick:) withObject:view afterDelay:10];

                [view release];

            }

        }

    }else if (alertView.alertViewStyle == UIAlertViewStyleLoginAndPasswordInput) {

        //如果是 登陆用户名 密码的警告框

        //获取两个textField 的地址

        UITextField *name = [alertView textFieldAtIndex:0];

        UITextField *passwd = [alertView textFieldAtIndex:1];

        NSLog(@"name:%@ pass:%@",name.text,passwd.text);

    }

}

//10s  之后 self 调用

- (void)viewClick:(UIAlertView *)view {

    //用代码关闭警告框

    [view dismissWithClickedButtonIndex:0 animated:YES];

}

 

 

9.UIActionSheet

//actionSheet:表单提示框

        //第一个参数:标题

        //第二个参数:代理 --> self

        //第三个参数:取消按钮的标题

        //第四个参数:需要谨慎操作的按钮可以高亮警告提示

        //第五个参数:其他按钮的标题

        //第六个参数:

        UIActionSheet *sheet = [[UIActionSheet alloc]initWithTitle:@"分享至" delegate:self cancelButtonTitle:@"cancel" destructiveButtonTitle:@"谨慎删除" otherButtonTitles:@"新浪微博",@"微信朋友圈"nil];

        //destructiveButtonTitle:当有危险操作的时候 可以设置,比如删除文件 ,删除操作是危险操作   这时这个按钮会显示 红色

        sheet.destructiveButtonIndex = 1;

        //显示

        [sheet showInView:self.view];

        [sheet release];

 

#pragma mark - UIActionSheetDelegate相关

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{

    NSLog(@"buttonIndex = %d",buttonIndex);

    if (buttonIndex == 1) {

        //分享到新浪微博

        NSLog(@"分享到新浪微博");

    }

}

 //取消按钮一般都在最下方

    //索引值 是从上至下 开始   0----最后一个索引

10.基本概念

//创建textView

-(void)createTextView{

    //UITextView:继承自UIScrollView,间接继承自UIView.

    //意见反馈

    //可编辑

    UITextView *tView = [[UITextView alloc]initWithFrame:CGRectMake(10100300100)];

    //1.设置文本颜色

    [tView setTextColor:[UIColor lightGrayColor]];

    //2.进入页面时键盘就是打开状态

//    [tView becomeFirstResponder];

    //3.设置键盘样式

    tView.keyboardType = UIKeyboardTypeDefault;

    //4.设置return按钮样式

    tView.returnKeyType = UIReturnKeyGo;

    //5.textView可以自动换行,不能设置默认提示文字

    //6.是否允许编辑

    tView.editable=YES;

  //设置是否可以滚动

    tView.scrollEnabled = YES;//NO不可以滚动

    tView.delegate = self;

    tView.text = @"请输入意见";

    tView.tag = 200;

    [self.view addSubview:tView];

    [tView release];

}

//协议

-(void)textViewDidBeginEditing:(UITextView *)textView{

    //清空原有内容

    textView.text = nil;

    //修改文本颜色

    textView.textColor = [UIColor redColor];

}

 

 

 

#pragma mark - UITextViewDelegate

//是否可以进入编辑模式

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView {

    NSLog(@"将要进入编辑模式");

    return YES;//YES可以

}

- (void)textViewDidBeginEditing:(UITextView *)textView {

    NSLog(@"已经进入编辑模式");

}

//是否可以结束编辑模式

- (BOOL)textViewShouldEndEditing:(UITextView *)textView {

    NSLog(@"将要结束编辑模式的时候调用");

    return YES;//YES可以结束

}

- (void)textViewDidEndEditing:(UITextView *)textView {

    NSLog(@"已经结束编辑模式");

}

//只要textView输入内容 就会调用

- (void)textViewDidChange:(UITextView *)textView {

    NSLog(@"textViewDidChange");

}

//修改textView的内容 或者 选中 就会调用textView

- (void)textViewDidChangeSelection:(UITextView *)textView {

    NSLog(@"textViewDidChangeSelection");

}

//将要 把键盘上的数据输入到UITextView上的时候调用

//range:光标的位置

//text: 将要输入到UITextView里面的内容 还没有输入到里面

//返回YES 可以输入到UITextView里面

//NO 不可以输入到里面

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

    NSLog(@"range:%@",NSStringFromRange(range));

    NSLog(@"将要输入:text:%@",text);

    return YES;

}

0 0