iOS_UI_02_四大控件

四大控件:UILabel、UITextField抄囚、UIButton和UIImageView

一霉赡、UILable
UILabel(標簽):顯示文本的控件,是UIView的子類
UILabel的屬性:
       1.text:要顯示的文本內容
            label.text = @"用戶名";
       2.textColor:文本內容的顏色
            label.textColor = [UIColor redColor];
       3.textAlignment:文本的對齊方式(水平方向)
            label.textAlignment = NSTextAlignmentLeft;
       4.font:文本字體
            label.font = [UIFont fontWithName:@"Helvetica-Bold"size:20];//黑體加粗幔托,20號字穴亏。
       5.numberOfLines:行數
            label.numberOfLines =3;
            //顯示3行,注意lable的高度要能容納3行重挑。如果3行沒能顯示完信息嗓化,沒顯示的信息以省略號代替。一般默認為1行谬哀,設置為0行就是不限制行數
       6.lineBreakMode:斷行模式
            label.lineBreakMode = NSLineBreakByWordWrapping;//以單詞為單位換行
       7.shadowColor:陰影顏色
            label.shadowColor = [UIColor yellowColor];//陰影顏色
       8.shadowOffset:陰影大小
            label.shadowOffset = CGSizeMake(2,1);//陰影向x正方向偏移2刺覆,向y正方向偏移1.
       9.獲取系統(tǒng)的所有字體
            NSLog(@"font---%@,font的個數--%ld",[UIFont familyNames],[UIFont familyNames].count);
       10.設置文字自適應寬度---必須是單行顯示,不是多行
           myLable.adjustsFontSizeToFitWidth = YES;
       11.設置文字的基準線
           myLable.baselineAdjustment = UIBaselineAdjustmentNone;
二玻粪、UITextField
UITextField(輸入框):是控制文本輸入和顯示的控件隅津。
UITextField的顯示屬性:
       1.text:要顯示的文本內容
       2.textColor:文本內容的顏色
       3.textAlignment:文本的對齊方式(水平方式)
       4.font:文本字體
       5.placeholder:占位字符串(沒有任何輸入時诬垂,給出的提示字符串)
            textField.placeholder = @"請輸入用戶名";
UITextField的輸入控制屬性:
       1.enabled:是否允許輸入
            textField.enabled = NO;//不允許輸入,不彈出鍵盤伦仍;textField.enabled = YES;//默認是YES结窘。允許輸入
       2.clearsOnBeginEditing:是否開始輸入的時候清空輸入框內容
            textField.clearsOnBeginEditing = YES;//清空; textField.clearsOnBeginEditing = NO;//不清空
       3.secureTextEntry:是否文字以圓點格式顯示
            textField.secureTextEntry = YES充蓝;//密碼模式隧枫;textField.secureTextEntry = NO;//普通模式
       4.keyboardType:彈出鍵盤的類型(枚舉值)
            textField.keyboardType = UIKeyboardTypeNumberPad;//數字鍵盤
       5.returnKeyType:鍵盤右下角return按鈕類型(枚舉值)
            textField.returnKeyType = UIReturnKeyNext;
       6.inputView:自定義輸入視圖(默認是鍵盤)
            textField.inputView = myInputView---寬度是有一個死值,為當前屏幕的寬度谓苟。高度可以自定義
       7.inputAccessoryView:輸入視圖上方的輔助視圖(默認nil)
            textField.inputAccessoryView = myAccessoryView;
       8.用戶交互屬性的設置官脓,所有UIView的子類都具有該屬性
            myTF.userInteractionEnabled = YES;
       9.Textfield指定當前類對象為代理方
            myTF.delegate = self;
       10.設置return按鈕類型
            myTF.returnKeyType = UIReturnKeyDone;
UITextField的外觀控制屬性:
       1.borderStyle:邊框樣式(枚舉值)
            textField.borderstyle = UITextBorderStyleRoundedRect;//圓角矩形邊框
       2.clearButtonMode:清除按鈕模式(枚舉值)
            textField.clearButtonMode = UITextFieldViewModeAlways;//總是顯示清除按鈕---
          設置文字的清除模式-
          1.whileEditing:只有編輯模式才會出現叉號涝焙,非編輯模式狀態(tài)沒有叉號
          2.always:只要有文字叉號就存在卑笨,不管是不是編輯狀態(tài)
          3.unlessEditing:編輯的時候不會出現叉號,非編輯的時候不會出現
       3.leftView:輸入框左視圖
          textField.leftView = leftView;
       4.leftViewMode:左視圖的顯示模式
          textField.leftViewMode = UITextFieldViewModeAlways;//總是顯示左視圖
       5.rightView:輸入框右視圖
          textField.rightView = rightView;
       6.rightViewMode:右視圖的顯示模式
          textField.rightViewMode = UITextFieldViewModeAlways;//總是顯示右視圖
UITextField的常用代理方法:
    
       1.是否允許開始編輯
       - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
       //如果返回值為yes仑撞,允許開始編輯赤兴,如果為no,不允許開始編輯
        return YES;
        }
        
        2.已經開始編輯---參數就是上面指定代理的Textfield
        - (void)textFieldDidBeginEditing:(UITextField *)textField{
        //開始編輯的時候隧哮,切換輸入框樣式
        textField.borderStyle = UITextBorderStyleRoundedRect;
        NSLog(@"已經開始編輯");
        }
        
        3.是否允許結束編輯狀態(tài)
        - (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
        return YES;
        }
        
        4.已經結束編輯狀態(tài)
        - (void)textFieldDidEndEditing:(UITextField *)textField{
        //在結束編輯的時候桶良,取消輸入框狀態(tài)
        textField.borderStyle = UITextBorderStyleBezel;
        //在結束編輯的時候,改變字體顏色
        textField.textColor = [UIColor redColor];
        //在結束編輯的時候沮翔,添加小叉號
        textField.clearButtonMode = UITextFieldViewModeUnlessEditing;
        NSLog(@"已經結束編輯");
        }
        
        5.當輸入內容的時候會執(zhí)行的代理方法
        - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
        //當編輯內容的時候會打印字符串
        NSLog(@"string---%@",string);
        //NSStringFromRange將結構體變量轉換為字符串方便打印--(0,0)的意思是(占位,長度)陨帆,這個是操作之前的range
         NSLog(@"range---%@",NSStringFromRange(range));
         return YES;
         }
         
         6.是否允許一鍵清除內容(右側的小叉號是否起作用)
         - (BOOL)textFieldShouldClear:(UITextField *)textField{
         return YES;
         }
         
         7.點擊鍵盤右下角return鍵所需要的操作
         - (BOOL)textFieldShouldReturn:(UITextField *)textField{
         //當點擊返回按鈕的時候,回收鍵盤采蚀。取消第一響應者疲牵。相當于結束編輯狀態(tài)
         [textField resignFirstResponder];
         return YES;
         }
三、UIButton
UIButton(按鈕):響應用戶點擊的控件搏存。側重于交互
UIButton--有自己的便利構造器瑰步,按鈕無需釋放
    1.創(chuàng)建:使用系統(tǒng)提供的按鈕樣式
        UIButton* btn = [UIButton buttonWithType:UIButtonTypeSystem];
    2.設置寬高:
        btn.frame = CGRectMake(200, 200, 60, 30);
    3.添加到父視圖中addSubview
    4.設置背景色,是否隱藏
    5.為按鈕設置常態(tài)標題
        [btn setTitle:@"按鈕" forState:UIControlStateNormal];
    6.高亮狀態(tài)下的標題
        [btn setTitle:@"高亮" forState:(UIControlStateHighlighted)];
    7.為按鈕添加點擊事件
        1.參數解釋:
            1.target:方法的執(zhí)行者璧眠,按鈕的方法在哪個類中實現缩焦,target這里就寫那個對象。
            2.方法選擇器中的方法就是操作按鈕的時候會執(zhí)行的方法责静,如果帶參數袁滥,參數就是按鈕本身,也可以不帶參數灾螃。
            3.events:按鈕事件题翻,如果操作按鈕才能觸發(fā)方法
        2.[btn addTarget:self action:@selector(btnAction:) forControlEvents:(UIControlEventTouchUpInside)];
        3.實現btnAction方法,否則系統(tǒng)會崩潰
            -(void)btnAction:(UIButton*)sender{  NSLog....  }
    8.UIButton的外觀控制屬性:
        1.setImage:forState:--設置指定狀態(tài)下的前景圖片
            [btn setImage:[UIImage imageNamede:@"login.png"] forState:(UIControlStateHighlighted)];
        2.imageForState--獲取指定狀態(tài)下的前景圖片
            UIImage* normalImage = [loginButton  imageforState:UIControlStateNormal]
        3.setBackgroundImage:forState:--設置指定狀態(tài)下的背景圖片
            [btn setBackgroundImage:[UIImage imageNamede:@"login.png"] forState:(UIControlStateHighlighted)];
        4.backgroundImageForState--獲取指定狀態(tài)下的背景圖片
            UIImage* normalImage = [loginButton  backgroundImageForState:UIControlStateNormal];
        5.setTitle:forState:--設置指定狀態(tài)下的標題
            [btn setTitle:@"登錄" forState:(UIControlStateHighlighted)];
        6.titleForState--獲取指定狀態(tài)下的標題
            NSString* normalTitle = [loginButton  titleforState:UIControlStateNormal]
        7.setTitleColor:forState:--設置指定狀態(tài)下的標題顏色
            [btn setTitleColor:[UIColor reColor] forState:(UIControlStateHighlighted)];
        8.titleColorForState--獲取指定狀態(tài)下的標題顏色
            UIColor* normalTitleColor = [loginButton  titleColorForState:UIControlStateNormal]
        9.setTitleShadowColor:forState:--設置指定狀態(tài)下的標題陰影顏色
            [btn setTitleShadowColor:[UIColor reColor] forState:(UIControlStateHighlighted)];
        10.titleShadowColorForState--獲取指定狀態(tài)下的標題陰影顏色
            UIColor* normalTitleShadowColor = [loginButton  titleShadowColorForState:UIControlStateNormal]
    9.UIButton的點擊事件--從父類UIControl那繼承了控制相關的方法---Events是按鈕觸發(fā)方式(手勢)
        1.添加事件
        addTarget:action:forControlEvents:--為按鈕添加事件嵌赠,指定按鈕點擊后塑荒,執(zhí)行target的action方法---[btn addTarget:self action:@selector(btnAction:) forControlEvents:(UIControlEventTouchUpInside)];
        實現btnAction方法,否則系統(tǒng)會崩潰--- (void)btnAction:(UIButton*)sender{  NSLog....  }
        2.移除事件
        removeTarget:action:forControlEvents:--移除按鈕的點擊事件---[btn removeTarget:self action:@selector(btnAction:) forControlEvents:(UIControlEventTouchUpInside)];
        3.//是否支持多點觸控----默認是NO
         btn.multipleTouchEnabled = YES;
    10.UIButton上自帶的一個UI控件是titleLabel
四姜挺、UIImageView
1.UIImageView:是顯示圖片的類齿税,相當于一個相框,專門用于顯示圖片炊豪,可以存放一個圖片或一組圖片
2.UIImage:圖片對象
3.UIImageView的動態(tài)圖(實現動畫):
    animationImages凌箕;//設置一組動態(tài)圖片
    animationDuration;//設置播放一組動態(tài)圖片的時間
    animationRepeatCount词渤;//設置重復次數
    startAnimating ;//開始動畫
    stopAnimating牵舱;//結束動畫
4.UIImageView的學習
    1.創(chuàng)建圖片對象--UIImage
    2.創(chuàng)建相框對象--UIImageView
    3.顯示圖片
       第一種:原圖大小
              UIImageView* imgView = [[UIImageView alloc] initWithImage:img];
       第二種:等比例縮放
              UIImageView* imgView_2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.window.frame.size.width, img.size.height*self.window.frame.size.width/img.size.width)];
    4.顯示到window上---addSubView
5.顯示動態(tài)圖片
    1.創(chuàng)建數組,用來容納圖片
    2.for循環(huán)遍歷缺虐,i = 0芜壁;i < 動圖拆分后的個數;
    3.在for循環(huán)內部將圖片改為字符串類型--UIImage* myImg = [UIImage imageNamed:[NSString stringWithFormat:@"%d.tiff",i]];
    4.在for循環(huán)內部將圖片添加到數組中---[imgArray addObject:myImg];
    5.在for循環(huán)外部高氮,將數組對象添加到相框中
        imgView_2.animationImages = imgArray;
    6.啟動動畫
        [imgView_2 startAnimating];
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末沿盅,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子纫溃,更是在濱河造成了極大的恐慌,老刑警劉巖韧掩,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件紊浩,死亡現場離奇詭異,居然都是意外死亡疗锐,警方通過查閱死者的電腦和手機坊谁,發(fā)現死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滑臊,“玉大人口芍,你說我怎么就攤上這事」途恚” “怎么了鬓椭?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長关划。 經常有香客問我小染,道長,這世上最難降的妖魔是什么贮折? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任裤翩,我火速辦了婚禮,結果婚禮上调榄,老公的妹妹穿的比我還像新娘踊赠。我一直安慰自己呵扛,他們只是感情好,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布筐带。 她就那樣靜靜地躺著今穿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪烫堤。 梳的紋絲不亂的頭發(fā)上荣赶,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音鸽斟,去河邊找鬼拔创。 笑死,一個胖子當著我的面吹牛富蓄,可吹牛的內容都是我干的剩燥。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼立倍,長吁一口氣:“原來是場噩夢啊……” “哼灭红!你這毒婦竟也來了?” 一聲冷哼從身側響起口注,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤变擒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后寝志,有當地人在樹林里發(fā)現了一具尸體娇斑,經...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年材部,在試婚紗的時候發(fā)現自己被綠了毫缆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡乐导,死狀恐怖苦丁,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情物臂,我是刑警寧澤旺拉,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站棵磷,受9級特大地震影響账阻,放射性物質發(fā)生泄漏。R本人自食惡果不足惜泽本,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一淘太、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦蒲牧、人聲如沸撇贺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽松嘶。三九已至,卻和暖如春挎扰,著一層夾襖步出監(jiān)牢的瞬間翠订,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工遵倦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留尽超,地道東北人。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓梧躺,卻偏偏與公主長得像似谁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子掠哥,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內容

  • 代碼創(chuàng)建UIWindow對象 Xcode7之后使用代碼創(chuàng)建UIWindow對象: //創(chuàng)建UIWindow對象 s...
    云之君兮鵬閱讀 1,317評論 0 2
  • 發(fā)現 關注 消息 iOS 第三方庫巩踏、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,103評論 4 62
  • 一续搀、UIView常見屬性 1.frame 位置和尺寸(以父控件的左上角為原點(0塞琼,0)) 2.center 中點(...
    脫下國際籃化身程序猿閱讀 262評論 0 0
  • 控件一. UILabel 1》description: UILabel繼承于UIView, 是UIView的子類。...
    起個名字太費勁閱讀 833評論 0 2
  • 去年,我和好友YKK去寶島臺灣旅行煞抬,整個旅程總得來說非常順利霜大,然而一路上總穿插著一些令人不快的小插曲,源頭就在于Y...
    晴空蔚閱讀 246評論 0 0