iOS学习之(一)按钮使用大全

总结:
文本类控件: UILabel,UITextField,UITextView
按钮类控件: UIButton,UISwitch,UISegmentControl
调节类控件: UISlider,UIStepper
选择,警告类控件: UIDatePick, UIPickView, UIAlertView
容器类控件: UIImageView, UIScrollView
指示类控件: UIPageControl, UIProgressView,UIAcitcityIndicator

控件使用步骤:
a 初始化控件,设置位置,.........
b  加载到视图,
c  释放

 View属性: 




文本类控件
UILabel 标签:显示文本
 eg:   baselineAdjustment  设置基线位置(只有1行文本时才有效)
         numberOfLines 设置显示行数(0表示不限)
         lineBreakMode 设置超出内容宽度时的模式

UITextField:用于文本的输入,支持单行
 eg //回收键盘:设置<UITextFieldDelegate>
    -( BOOL )textFieldShouldReturn:( UITextField *)textField
    {
       [textField resignFirstResponder ]; // 撤销第一响应
        return YES ;
    }
 
UITextView:用于文本的输入,支持多行 
  eg:    //  回收键盘:加按钮键盘来辅助
     - ( IBAction )button:( UIButton *)sender 
     {
          [ self . textView resignFirstResponder ];  // 撤销第一响应
     }

按钮类控件
UIButton 按钮:
 一般情况下 UIButton是不用实例化的, 通过UIButton类提供的工厂方法来获得实例, 工厂方法返回的实例是Autorelease类型的,不需要释放内容。
eg:   // addTarget 设置点击按钮
     [button addTarget :对象  action : @selector (实例方法) forControlEvents : UIControllerEventTouchUpInside ]; 

UISwitch 开关控件:
eg: 高度默认自身的


调节类控件:UISlider,UIStepper
UISlider 滚动条:
eg: 高度默认自身的
选择,警告类控件:UIDatePick, UIPickView, UIAlertView
UIDatePicker 日期选择器:
eg:    //获取UIDatePicker里的日期
     NSDate   *date =   self . dataPicker . date ;
      //创建时间格式
      NSDateFormatter   *formatter = [[ NSDateFormatter   alloc ] init ];
    [formatter   setDateFormat : @"yyyy-MM-dd hh-mm-ss" ];
       NSString   *selectDate = [formatter   stringFromDate :date];
      self . label . text   = selectDate;

UIPickerView自身不存储数据的,它的数据存储在它的委托中
<UIPickerViewDataSource>
eg: 高度默认自身

eg: // 设置UIPickerView的列数
    -( NSInteger )numberOfComponentsInPickerView:( UIPickerView   *)pickerView
   {
         return   整数 ;
   }
    //设置每列的行数
   -( NSInteger )pickerView:( UIPickerView   *)pickerView numberOfRowsInComponent:( NSInteger )component
   {
       if(component == 0)  //第一列
        {
          return 3;   
        } 
     return 5             //第二例
    }
<UIPickerViewDelegate>设置数据
eg : // 设置行的内容
   -( NSString   *)pickerView:( UIPickerView   *)pickerView titleForRow:( NSInteger )row forComponent:( NSInteger )component
   {
       return 内容;
   }
   // 设置选中内容到 label
    -( void )pickerView:( UIPickerView   *)pickerView didSelectRow:( NSInteger )row inComponent:( NSInteger )component
   {
       self.myLayer.text = 内容;
   }

UIActionSheet操作表
警告:alertView:
eg:
   - ( IBAction )alertClick:( id )sender 
    {
            UIAlertView   *alert = [[ UIAlertView   alloc ] initWithTitle : @"YES"   message : @"Are you sure ?"   delegate : self   cancelButtonTitle : @"NO"   otherButtonTitles : @"test1" nil ];
      [alert   show ];   //将UIAlertView显示出来
    }
   //delegate 设置点击后的调用
  -( void )alertView:( UIAlertView   *)alertView clickedButtonAtIndex:( NSInteger )buttonIndex
   {
          NSLog ( @"%d" ,buttonIndex); //结果从上到下为1~n,最后一个为0
   }

从底部弹出 ActionSheet 组件:
eg:
   - ( IBAction )actionClick:( id )sender 
    {
          UIActionSheet   *sheet = [[ UIActionSheet   alloc ] initWithTitle : @" 确认购买 "   delegate: self   cancelButtonTitle : @" 取消购买 "   destructiveButtonTitle : @" 销毁 "   otherButtonTitles: @"test11" , nil ];
          [sheet   showInView : self . view ]; // 显示
         }
   //delegate 设置点击后的调用
  -( void )actionSheet:( UIActionSheet  *)actionSheet clickedButtonAtIndex:( NSInteger )buttonIndex
   {
        NSLog ( @"%d" ,buttonIndex); //结果从上到下为0~n
   }

容器类控件:UIImageView,UIScrollView
UIImageView视图载体和UIImage加载视图:
 a: UIImage是真实中的图片源。
 b: UIImageView是UIImage的载体,负责显示UIImage而且设置其大小和模式。
eg: 
    .contentMode用来设置图片显示内容模式
    .animationImages设置要播放的图片数组
    .animationDuration设置周期时间
    .animationRepeatCount播放次数

UIScrollView:
常用属性:
    // 设置 UIScrollView 的滚动范围(内容大小) scrollView. contentSize = CGSizeMake ( int , int );
   // 隐藏水平滚动条 scrollView. showsHorizontalScrollIndicator = NO ;                 scrollView. showsVerticalScrollIndicator = NO ;
   // 用来记录 scrollview 滚动的位置 scrollView.contentOffset
   // 去掉弹簧效果 scrollView.bounces = NO;
   // 增加额外的滚动区域 scrollView. contentInset = UIEdgeInsetsMake (top,left,bottom,right);

 a: scrollView的缩放问题
         当用户尝试缩放UIScrollView的时候,scrollerView会尝试向它的delegate(代理对象)发送一条消息,询问要缩放哪一个子控件,scrollView会尝试调用delegate的某个方法,询问要缩放哪一个子控件,并且该方法的返回值就是要缩放的子控件 。
步骤:
 1 控制器遵守UIScrollViewDelegate协议<UIScrollViewDelegate>
 2 设置scrollView的delegate为控制器(self) 
 3 设置最大和最小缩放比例
        //  设置最大伸缩比例     scrollView. maximumZoomScale  =  2.0 ;     //  设置最小伸缩比例     scrollView. minimumZoomScale  =  0.2 ;
 4 控制器实现 的方法
   -( UIView  *)viewForZoomingInScrollView:( UIScrollView  *)scrollView
    {
       return 图片的大小;
     }

 b:scrollView的循环滚动问题:多加载虚假的前后两张图片
 eg: 
   -( void )scrollViewDidScroll:( UIScrollView *)scrollView     {         int page = scrollView. contentOffset . x / scrollView. frame . size . width ;         _pageControl . currentPage = page; //  设置页码     }  -( void )scrollViewDidEndDecelerating:( UIScrollView *)scrollView
   {      int currentPage = ( _scrollView . contentOffset . x /scrollView. frame . size . width );      if (currentPage== 0
       { // 如果是第一页 , 也就是接下来要开始从最后一页循环           [ _scrollView setContentOffset : CGPointMake ( w * kCount , 0 ) animated : NO ];       }
      else if (currentPage== kCount
         { // 如果是最后 +1, 也就是接下来要开始从第一页循环            [ _scrollView setContentOffset : CGPointMake ( 320 , 0 ) animated : NO ];         }    }

指示类控件:UIPageControl, UIProgressView,UIAcitcityIndicator
UIPageControl:
常用属性:
eg:pageControl. numberOfPages = 数量 ; // 一共显示多少个圆点(多少页)
    pageControl. pageIndicatorTintColor = [ UIColor  red Color ]; // 设置非选中页的圆点颜色
    pageControl. currentPageIndicatorTintColor = [ UIColor blueColor ]; //  设置选中页的圆点颜色
    pageControl. enabled = NO ; //  禁止默认的点击功能
     pageControl . currentPage = page;//  设置页码

UIProgressView 进度条控件
eg: 高度默认自身的

UIActivity Indicator 活动指示器,无限菊花

     // 订阅按钮升起的系统通知
    [[ NSNotificationCenter   defaultCenter ]   addObserver : self   selector : @selector (keyboardWillShow)   name : UIKeyboardWillShowNotification   object : nil ];

-( void )keyboardWillShow
  {
     [ UIView   animateWithDuration : 0.25   animations :^
     {
           _button . frame   =   CGRectMake ( 10 ,   220 ,   300 ,   30 ); //升起的位置
        //一般情况下可以把整个视图都升起
      } completion :^( BOOL   finished)
        {
     
        }];
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值