总结: 

文本类控件:  
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) 

        { 

      

        }]; 

  }