国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

iOSUI控件(3)

2019-11-14 19:09:02
字體:
來源:轉載
供稿:網友

1.開關控件

UISwitch控件代表一個開關按鈕,用于處理布爾值。可通過監控ValueChange事件來檢測開關按鈕的狀態切換,也可通過屬性on或實例方法isOn來獲取當前值。

示例:通過switch開關來控制背景顏色
- (IBAction)backChange:(UISwitch *)sender {    if ([sender isOn]) {        [self.view setBackgroundColor:[UIColor whiteColor]];            }    else    {        [self.view setBackgroundColor:[UIColor blackColor]];    }}

2.分段控件(UISegmentedControl)

分段控件提供一欄按鈕,每次只能激活其中一個按鈕。常用語在不同類別的信息之間選擇,或在不同的屏幕之間切換。

支持的屬性:

  1. Style 設置控件的風格
  2. State 設置控件不保持狀態
  3. Tint 設置被選中分段的高亮顏色
  4. Segments 設置控件的分段數
  5. Segment 選擇某個分段
  6. Title 選擇分段的標題
  7. Image 選擇分段的圖片
  8. Behavior
    Enabled: 設置控件是否可用
    Selected:設置是否被選中
實例: 分段控件設置背景顏色,動態增加、刪除分段

效果圖:

主要實現代碼:

- (IBAction)segmentChanged:(UISegmentedControl *)sender {    switch ([sender selectedSegmentIndex]) {        case 0:            [self.view setBackgroundColor:[UIColor redColor]];            break;             case 1:            [self.view setBackgroundColor:[UIColor greenColor]];             break;             case 2:            [self.view setBackgroundColor:[UIColor blueColor]];             break;             case 3:            [self.view setBackgroundColor:[UIColor purpleColor]];             break;                    default:            break;    }}- (IBAction)add:(UIButton *)sender {    NSUInteger count = self.seg1.numberOfSegments;    NSString*  title = self.tv.text;    if([title length] > 0)    {        [self.seg1 insertSegmentWithTitle:title atIndex:count animated:YES];    }    }- (IBAction)remove:(UIButton *)sender {    NSUInteger count = self.seg1.numberOfSegments;    [self.seg1 removeSegmentAtIndex:count-1 animated:YES];}

3.圖像控件(UIImageView)

代表一個圖片顯示控件,直接繼承UIView,沒有繼承UIControl。

可以通過如下兩個屬性訪問或設置控件顯示的圖片:

  • image: 訪問或設置該控件顯示的圖片
  • highlightedImage 訪問或設置該控件處于高亮狀態時顯示的圖片

還可以使用動畫顯示一組圖片,主要屬性和方法如下:

  • animationImages: 訪問或設置該UIImageView需要動畫顯示的多張圖片。NSArray
  • highlightedAnimationImages: 訪問或設置該UIImageView 高亮狀態下需要動畫顯示的多張圖片。該屬性是一個NSArray對象。
  • animationDuratin: 訪問或設置 動畫持續時間
  • animationRepeatCount: 訪問或設置動畫持續次數
  • startAnimating: 開始播放動畫
  • isAnimating: 該方法判斷該UIImageView是否播放動畫
實例: 圖片瀏覽器及“幻燈片”播放器

效果圖:

NSArray * images;NSArray * images1;int curImage;CGFloat alpha;-(void) viewDidLoad{    [super viewDidLoad];    curImage = 0;    alpha = 1.0;    images = [NSArray arrayWithObjects:@"1.jpg",@"2.jpg",@"3.jpg" ,@"4.jpg",nil];    //啟動iv1控件的用戶交互,從而允許該控件能響應用戶手勢    self.iv1.userInteractionEnabled = YES;    //創建一個輕擊的手勢檢測器    UITapGestureRecognizer * singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(clicked:)];    //為控件添加手勢    [self.iv1 addGestureRecognizer:singleTap];        /*     *幻燈片播放     */    self.iv3.animationImages=[NSArray arrayWithObjects:                             [UIImage imageNamed:@"1.jpg"],                             [UIImage imageNamed:@"2.jpg"],                             [UIImage imageNamed:@"3.jpg"],                             [UIImage imageNamed:@"4.jpg"],nil ];        //設置動畫總時間    self.iv3.animationDuration=1.0;        //設置重復次數,0表示不重復    self.iv3.animationRepeatCount=0;        //開始動畫    [self.iv3 startAnimating];    }- (IBAction)plus:(UIButton *)sender {    alpha += 0.2;    if(alpha >= 1.0)    {        alpha = 1.0;    }    self.iv1.alpha = alpha;}- (IBAction)minus:(UIButton *)sender {    alpha -= 0.2;    if(alpha <= 0.0)    {        alpha = 0.0;    }    self.iv1.alpha = alpha;}- (IBAction)next:(UIButton *)sender {    self.iv1.image = [UIImage imageNamed:[images objectAtIndex:(++curImage % images.count)]];}-(void) clicked:(UIGestureRecognizer*)getureRecognizer{    //獲取正在顯示的原始圖片    UIImage * srcImage = self.iv1.image;    //獲取用戶手指在iv1控件上的觸碰點    CGPoint pt = [getureRecognizer locationInView:self.iv1];    //獲取正在顯示的原圖對應的CGImageRef    CGImageRef sourceImageRef = [srcImage CGImage];    //獲取圖片實際大小與第一個UIImageView的縮放比例    CGFloat scale = srcImage.size.width / 320;    //將iv控件上的觸碰點的左邊換算成原始圖片上的位置    CGFloat x = pt.x * scale;    CGFloat y = pt.y * scale;    if(x + 120 > srcImage.size.width)    {        x = srcImage.size.width -140;    }    if(y+ 120 > srcImage.size.height)    {        y = srcImage.size.height - 140;    }    CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, CGRectMake(x,y, 140, 140));    self.iv2.image = [UIImage imageWithCGImage:newImageRef];}

4. 進度條

包括UiprogressView和UIActivityIndicatorView,前者顯示 百分比,后者顯示衣蛾旋轉的齒輪。

4.1 UIPRogressView

UIProgressView繼承UIView。

支持的主要屬性:

  1. Style
  2. Progress 設置進度條任務的完成比例,0.0-0.1之間。
  3. Progress Tint 設置已經完成進度的顏色。
  4. Track Tint 設置進度條的軌道顏色
  5. progressImage:
  6. trackImage:

4.2 UIActivityIndicatorView

表示任務正在進行中,該控件顯示一個旋轉的進度換,不精確顯示百分比。

支持的屬性:

  1. Style
  2. Color
  3. Behavior

    • Animating: 勾選控制進度環顯示出來后立即開始轉動
    • Hides When Stopped: 設置進度換停止轉動時自動隱藏

方法:

  1. -startAnimating: 控制進度環開始轉動
  2. -stopAnimating: 控制進度環停止轉動

5. 拖動條(UISlider)

UISlider支持的屬性與UIProgressBar相似。UISlider支持高度定制,包括定制拖動條的軌道、以完成精度的外觀。

  1. setMinimumTrackImage:forState: 設置拖動條已完成進度的軌道圖片
  2. setMaximumTrackImage:forState: 設置拖動條外完成進度軌道圖片
  3. setThumbImage:forState: 設置拖動條上滑塊的圖片

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富川| 静海县| 泰州市| 丰镇市| 江华| 焉耆| 黑龙江省| 贵溪市| 北流市| 杭锦旗| 高青县| 水城县| 泸西县| 富裕县| 阳城县| 镇原县| 马关县| 龙里县| 威海市| 土默特左旗| 祁门县| 邵阳市| 文化| 安阳市| 资阳市| 洞头县| 婺源县| 汨罗市| 新丰县| 巫溪县| 容城县| 常山县| 沅陵县| 若羌县| 关岭| 石楼县| 新宁县| 岳池县| 望都县| 屯留县| 通河县|