亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

iOS開發UI篇——Button基礎

2019-11-14 17:53:15
字體:
來源:轉載
供稿:網友

一、簡單說明

      一般情況下,點擊某個控件后,會做出相應反應的都是按鈕

      按鈕的功能比較多,既能顯示文字,又能顯示圖片,還能隨時調整內部圖片和文字的位置

二、按鈕的三種狀態

     1、 normal(普通狀態)

      默認情況(Default)

      對應的枚舉常量:UIControlStateNormal

 

     2、 highlighted(高亮狀態)

      按鈕被按下去的時候(手指還未松開)

      對應的枚舉常量:UIControlStateHighlighted

 

     3、 disabled(失效狀態,不可用狀態)

     如果enabled屬性為NO,就是處于disable狀態,代表按鈕不可以被點擊

     對應的枚舉常量:UIControlStateDisabled

 

三、注意點

    (1)從Xcode5開始,圖片資源都放到Images.xcassets中進行管理,可以使用拖拽的方式添加項目中用到的圖片到Images.xcassets中

    (2)若干多個控件共用一段代碼,通常使用tag。

 

四、代碼示例

    (1)

#import "LFViewController.h"@interface LFViewController ()@PRoperty (weak, nonatomic) IBOutlet UIButton *headImageView;@end@implementation LFViewController// 在OC中,絕大多數的控件的監聽方法的第一個參數就是控件本身//- (IBAction)left:(UIButton *)button {//    //    NSLog(@"----");//}- (IBAction)move{    // 通過frame修改head的位置    // 在OC中,不允許直接修改“對象”的“結構體屬性”的“成員”    // 允許修改“對象”的“結構體屬性”    // 1. 取出結構體屬性    CGRect rect = self.headImageView.frame;    // 2. 修改結構體成員    rect.origin.y -= 20;    // 3. 設置對象的結構體屬性    self.headImageView.frame = rect;}

(2)

#import "LFViewController.h"/** 使用git  1. 創建項目時,勾選git 2. 開發告一段落后,選擇"Source Control""Commit",并編寫注釋 */// 枚舉類型實質上就是一個整數,作用就是用來替代魔法數字// 枚舉類型中,指定了第一個整數之后,后面的數字會遞增typedef enum{    kMovingDirTop = 10,    kMovingDirBottom,    kMovingDirLeft,    kMovingDirRight,} kMovingDir;#define kMovingDelta 50@interface LFViewController ()@property (weak, nonatomic) IBOutlet UIButton *headImageView;@end@implementation LFViewController- (IBAction)move:(UIButton *)button{//    CGRect rect = self.headImageView.frame;    CGPoint p = self.headImageView.center;        // magic number魔法數字,其他程序員看到代碼的時候,不知道是什么意思    switch (button.tag) {        case kMovingDirTop:            p.y -= kMovingDelta;            break;        case kMovingDirBottom:            p.y += kMovingDelta;            break;        case kMovingDirLeft:            p.x -= kMovingDelta;            break;        case kMovingDirRight:            p.x += kMovingDelta;            break;    }    [UIView beginAnimations:nil context:nil];    [UIView setAnimationDuration:1.0];        self.headImageView.center = p;        [UIView commitAnimations];}- (IBAction)zoom:(UIButton *)button{    CGRect rect = self.headImageView.bounds;        // 在C語言中,關于bool的判斷:非零即真    if (button.tag) {        rect.size.width += 50;        rect.size.height += 50;    } else {        rect.size.width -= 50;        rect.size.height -= 50;    }     // 首尾動畫    // beginAnimations表示此后的代碼要“參與到”動畫中    [UIView beginAnimations:nil context:nil];    [UIView setAnimationDuration:2.0];        self.headImageView.bounds = rect;//    self.headImageView.alpha = 0;        // commitAnimations,將beginAnimation之后的所有動畫提交并生成動畫    [UIView commitAnimations];}@end

 

五、補充筆記

    1. IBAction的參數

    - (IBAction)left:(UIButton *)button

   (1) 在OC中,絕大多數的控件監聽方法的第一個參數就是控件本身

   (2) 默認連線時的參數類型是id

   (3) 如果要在監聽方法中,方便控件的使用,可以在連線時或者連線后,修改監聽方法的參數類型

 

2. 修改對象的結構體成員

    在OC中,不允許直接修改“對象”的“結構體屬性”的“成員”,但是允許修改“對象”的“結構體屬性”

    修改結構體屬性的成員方法如下:

    (1)使用臨時變量記錄對象的結構體屬性

    (2) 修改臨時變量的屬性

    (3)將臨時變量重新設置給對象的結構體屬性

 

3. 在程序開發中需要避免出現魔法數字(Magic Number)

    使用枚舉類型,可以避免在程序中出現魔法數字

    (1)枚舉類型實質上就是一個整數,其作用就是用來替代魔法數字

    (2)枚舉類型中,指定了第一個整數之后,后面的數字會遞增

  

4. frame & bounds & center

    1> frame可以修改對象的位置和尺寸

    2> bounds可以修改對象的尺寸

    3> center可以修改對象的位置

 

5. 首尾式動畫

    // beginAnimations表示此后的代碼要“參與到”動畫中

    [UIView beginAnimations:nil context:nil];

    // setAnimationDuration用來指定動畫持續時間

    [UIView setAnimationDuration:2.0];

    self.headImageView.bounds = rect;

    ......

    // commitAnimations,將beginAnimation之后的所有動畫提交并生成動畫

    [UIView commitAnimations];


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美在线观看网址综合| 欧美性感美女h网站在线观看免费| 最近2019中文字幕mv免费看| 国产精品自拍小视频| 亚洲中国色老太| 狠狠色香婷婷久久亚洲精品| 欧美一区二区三区精品电影| 中文字幕视频一区二区在线有码| 亚洲欧美国产高清va在线播| 亚洲男人天天操| 性欧美视频videos6一9| 精品久久香蕉国产线看观看亚洲| 欧美成年人视频网站欧美| 夜夜狂射影院欧美极品| 欧美激情性做爰免费视频| 亚洲xxxxx性| 日韩在线视频国产| 亚洲精品720p| 欧美激情视频一区二区三区不卡| 日韩在线小视频| 成人97在线观看视频| 黑人狂躁日本妞一区二区三区| 欧美成人在线免费视频| 中文字幕欧美专区| 92看片淫黄大片欧美看国产片| 午夜精品一区二区三区视频免费看| 亲爱的老师9免费观看全集电视剧| 91久久久久久久一区二区| 97在线视频国产| 亚洲天堂av网| 国产欧美日韩免费看aⅴ视频| 亚洲精品国产精品国自产观看浪潮| 国产日韩精品一区二区| 中文字幕亚洲一区在线观看| 69久久夜色精品国产7777| 亚洲欧美综合区自拍另类| 亚洲成色777777女色窝| 精品偷拍一区二区三区在线看| 成人免费看片视频| 欧美日本亚洲视频| 38少妇精品导航| 国产成人jvid在线播放| 日韩av一卡二卡| 亚洲最大的免费| 91精品视频专区| 97婷婷涩涩精品一区| 日韩国产高清污视频在线观看| 国产欧美日韩最新| 欧美日韩xxxxx| 欧美理论电影在线播放| 狠狠躁夜夜躁久久躁别揉| 青青草国产精品一区二区| 欧美激情欧美狂野欧美精品| 狠狠色狠色综合曰曰| 91在线国产电影| 国产精选久久久久久| 欧美巨大黑人极品精男| 成人在线精品视频| 国产做受69高潮| 91av视频在线免费观看| 九九热精品视频在线播放| 91精品啪在线观看麻豆免费| 亚洲国产日韩欧美在线动漫| 亚洲国产美女精品久久久久∴| 久久亚洲精品一区| 亚洲国产精品va在线观看黑人| 欧美大片在线看免费观看| 日韩电影在线观看永久视频免费网站| 亚洲自拍欧美另类| 日韩视频免费在线| 国产精品入口日韩视频大尺度| 日韩有码视频在线| 欧美日韩国产精品专区| 中文字幕视频一区二区在线有码| 国产精品视频公开费视频| 日本人成精品视频在线| 欧美成人精品不卡视频在线观看| 2018中文字幕一区二区三区| 国产91色在线免费| 亚洲欧美一区二区三区久久| 成人在线小视频| 久久夜色精品国产亚洲aⅴ| www.欧美精品一二三区| 国产一区二区在线免费视频| 亚洲在线观看视频网站| 国产福利视频一区二区| 色综合91久久精品中文字幕| 91国产视频在线播放| 久久亚洲精品视频| 国产成人综合一区二区三区| 欧美激情中文字幕乱码免费| 日韩中文在线中文网三级| 亚洲精品福利资源站| 日韩综合中文字幕| 欧美精品一区二区三区国产精品| 亚洲伊人一本大道中文字幕| 中文字幕亚洲二区| 中文字幕精品一区久久久久| 成人免费观看a| 国产日韩欧美中文| 麻豆精品精华液| 97碰碰碰免费色视频| 国产精品福利小视频| 全球成人中文在线| 国产美女久久精品| 欧美激情在线观看| 国产精品久久国产精品99gif| 91九色国产社区在线观看| 久久久精品亚洲| 欧美日韩亚洲一区二| 亚洲大胆美女视频| xxxxx91麻豆| 精品成人69xx.xyz| 亚洲人成网7777777国产| 日韩福利伦理影院免费| 久久精品国产亚洲精品2020| 亚洲第一精品久久忘忧草社区| 欧美精品久久久久| 精品中文字幕在线2019| 亚洲欧洲国产一区| 欧美香蕉大胸在线视频观看| 亚洲综合中文字幕在线观看| 欧美日韩午夜视频在线观看| 日韩h在线观看| 久久久久久久久久久成人| xvideos成人免费中文版| 久久久久久中文字幕| 亚洲欧美国产高清va在线播| 久久综合伊人77777蜜臀| 日韩精品亚洲元码| 久久夜色精品国产| 久久男人资源视频| 国内精品模特av私拍在线观看| 国产又爽又黄的激情精品视频| 亚洲最新av网址| 亚洲美腿欧美激情另类| 欧美成人亚洲成人日韩成人| 亚洲国产欧美自拍| 九九久久久久99精品| 日韩欧美中文字幕在线播放| 中文字幕亚洲无线码a| 91免费人成网站在线观看18| 91免费国产网站| 国产精品视频自拍| 中文字幕综合在线| 欧美福利视频在线| 欧美激情精品久久久久久久变态| 日韩欧美综合在线视频| 国产日韩欧美91| 国产热re99久久6国产精品| 亚洲国产精品资源| 国产精品成人av在线| 精品国产区一区二区三区在线观看| 色综合视频一区中文字幕| 成人精品久久久| 懂色av中文一区二区三区天美| 国产精自产拍久久久久久| 亚洲精品美女在线观看| 久久网福利资源网站| 欧美成人激情视频免费观看| 美日韩丰满少妇在线观看| 久久精品久久久久久国产 免费| 欧美精品少妇videofree| 亚洲欧美国产va在线影院|