一 UIImageView和 UIImage
1. UIImage 繼承自 NSObject,是用來保存圖片資源的
UIImageView繼承自 UIView, 用來顯示圖片的控件,相當於一個相框,用來 展示UIImage 對象的.
2. UIImage 創建圖片對象
1⃣獲取圖片資源的一種方式
UIImage *image = [UIImage imageNamed:@”name.jpg”];
缺點:第一次使用的時候檢索比較麻煩,(浪費時間)
優點:這種方式會在拷貝一份放在內存中,以後使用的時候不用在去文件中檢索,直接在內存中取就可以了(節省時間)
2⃣獲取圖片二
①靜態圖片
也可以使用路徑創建圖片對象:
NSString *string = [[NSBundlemainBundle]pathForResouce:@”name” ofType:@”jpg”];
UIImage *image1 =[UIImageimageWithContentsOfFile:filePath];
優點:查找的時候比較方便,能通過路徑直接拿到,節省時間.
缺點:以後每次查找都要通過路徑去找(浪費時間)
創建 UIImageView對象
UIImageView*view = [[UIImageView alloc]initWithImage:image];
爲 UIImageView設置位置:
view.frame = CGRectMake(40,30,240,320);
添加到視圖:
[self.view addSubview:view];
[view release];
②UIImageView 加載動態圖片
NSMutabelArray *array = [NSMutableArrayarrayWithCapacity:0];
圖片方式一:
使用for 循環遍歷,獲得圖片
for(inti = 0;i < 22; i++){
NSString*stringName = [NSString stringWithFormat:@”Zombie%d”,i+ 1];
NSString*filePath = [[NSBundle mainBundle]pathForResource:stringName ofType:@”tiff”];
UIImage *image = [UIImageimageWithContentsOfFile:filePath];
}
獲取圖片方法二:(獲取圖片名字和格式)
NSString *stringName = [NSStringstringWithFormat:@”Zombie%d.tiff”,i + 1];
UIImage *image = [UIImageimageNamed:stringName];
[array addObject:image];}
//創建對象:
UIImageView *imageView =[[UIImageViewalloc]initWithFrame:CGRectMake(20,30,280,408)];
//設置 imageView 播放的動態圖片數組
imageView.animationImages = array;
//設置動態圖片的播放速度
imageView.animationDuration = 1;
//設置動態圖片循環的次數
imageView.animationRepeatCount = 0; //循環次數爲0的時候無限次循環
[self.view addSubview:imageView];
[imageView release];
//設置開始播放動態圖片 一定要加上!!!!!
[imageView startAnimating];
3. 等比縮放圖片的方法
UIImage*image = [UIImage imageNamed:@”name.jpg”];
UIImageView *imageView = [[UIImageViewalloc]initWithImage:image];
//等比計算出 imageView 的高度
CGFloat heigh = 300*image.size.height/image.size.width;
imageView.frame =CGRectMake(10,20,300,heigh);
[self.view addSubview:imageView];
[imageView release];
二 UISegmentedControl分段控件的使用
1. 有多個分段組成的視圖控件,每個分段相當於一個按鈕,繼承自 UIControl
2. 創建一個 segmentedControl 對象
NSArray *itemArray = @[@”首頁”,@”公司簡介”,@”產品介紹”];
UISegmentedControl *segmented = [[UISegmentedControl alloc]initWithItems: itemArray];
//設置大小 frame
segmented.frame =CGRectMake(20,30,280,40);
// 設置默認選中的分段
[segmented setSelectedSegmentIndex:1];
//修改字體大小
NSDictionary *dic =@{NSFontAttributeName:[UIFont boldSystemForntOfSize:18],NSForegroundColorAttributeName:[UIColorredColor]};
[segmented setTitleTextAttributes:dicforState:UIControlStateNormal];
//設置分段的顏色
segmented:tintColor = [UIColorblackColor];
//改變標題
[segmented setTitle:@”首頁”forSegmentAtIndex:0];
//設置寬度
[segmented setWidth:100 forSegmentAtIndex:1];
//點擊事件
[segmented addTarget:selfaction:@selector(segmentCR:) forControlEvents:UIControlEventValueChanged];
UIControlEventValueChanged 事件通常使用 switch進行實現(sender.selectedSegmentIndex)
三 UISlider 滑塊控件
1. 創建滑塊對象
UISlider *slider = [UISlideralloc]initWithFrame:CGRectMake(10,100,300,10);
slider.minimumTrackTintColor =[UIColor redColor];
slider.maximumTrackTintColor = [UIColorblueColor];
//設置最大值和最小值
slider.minimumValue = 0.0;
slider.maximumValue = 1.0;
//設置滑竿的事件(當選擇的值改變的時候觸發)
[slider addTarget:self action:@selector(sliderValueChanged:)forControlEvents:UIControlEventValueChanged];
UIControl是控制類控件的基類,凡是繼承自 UIControl 都可以實現 addTarget/action方法,也可以通過 removeTarget:action:移除事件.
當我們想爲一個類擁有addTarget:action: 方法只需要讓他繼承 UIControl 就可以.
如果你想定義一個視圖,而且能夠響應事件,那就它繼承自 UIControl.