UI基礎之-UIImage,UIImageView, UISegmentedControl,UISlider

一  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.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章