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

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

iOS學習筆記——基礎控件(上)

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

本篇簡單羅列一下一些常用的UI控件以及它們特有的屬性,事件等等。由于是筆記,相比起來不會太詳細

UIView

  所有UI控件都繼承于這個UIView,它所擁有的屬性必是所有控件都擁有,這些屬性都是控件最簡單最一般的屬性。

  • enable:是否啟用;
  • selected:是否被選擇;
  • contentVerticalAligement:內容是垂直方向的對齊方式,它是一個枚舉,分別有UIControlContentVerticalAligementCenter/Top/Bottom/Fill;
  • contentHorizontalAlignment:內容是水平方向的對齊方式,它是一個枚舉,UIControlContentHorizontalAligmentCenter/Left/Right/Center;
  • hidden: 顯示或者隱藏,BOOL類型;
  • frame:決定控件的大小和位置的結構體,與forstate混用有可能不起作用。

  OC不允許直接修改對象的結構體屬性的成員,但可以修改結構體的屬性,此時只能先聲明另外一個結構體修改結構體里面的值后再對對象的結構體屬性重新設值。

  事件操作,這里則介紹如何去以代碼的形式給一個控件綁定和解綁事件。

  • 綁定事件:
[myControl addTarget:self action:@selector(myActionmethodName:)  forControlEvents:事件名];
  • 解綁事件:
[myControl removeTarget:self action:@selector(myActionmethodName:) forControlEvents:事件名];

 

這里如果涉及到多個事件的話,可以用邏輯OR “||”合并在一起。

  • 獲得該控件所有注冊了事件的方法: NSSet *myActions=[myControl allTargets];
  • 獲得該控件所有注冊了該事件的方法:NSArray *myActions=[myControl actionForTarget:事件名];

  對于大多數事件的參數,第一個就是觸發該事件的控件,類型是id,在用代碼綁定事件或者通過storyboard連線的方式綁定事件后,可以把id這個類型換成控件本身的類型,這樣在方法內部萬一要用回這個控件時就免得進行強制轉換了。

  在個事件部分最后搭上一個常用的事件,單擊事件 UIControlEventTouchUpInside。

UIButton

         按樣式去創建按鈕,

UIButton *btn= [UIButton buttonWithType:UIButtonTypeRoundedRect];

樣式有以下幾種

  • UIButtonTypeCustom,自定義的風格;
  • UIButtonTypeRoundRect,白色圓角矩形,這個是默認的;
  • UIButtonTypeDetailDisclosure:藍色披露按鈕,沒有文字;
  • UIButtonTypeInfolight:微件用的小圓圈信息按鈕;(按鈕的底色默認是白色的,頁面底色已換成淺藍色)
  • UIButtonTypeInfoDark:背景下用神社圓圈的按鈕;
  • UIButtonTypeContactAdd:藍色加號”+“按鈕;

常用的屬性:

  • title:按鈕的內容;
  • image:按鈕的圖片;
  • titleColor:按鈕內容的顏色;
  • shadowColor:按鈕陰影部分的顏色;
  • backgroundImage:按鈕的背景圖;

以上這些屬性的設值方法如下

[btn setTitle:@”Button1” forState:…..];[btn setImage:[UIImage imageName:@”圖片的文件名”] forState:…..];[btn setTitleColor:[UIColor redColor] forState:…];[btn setShadowColor:[UIColor redColor] forState:…..];[bnt setBackgroundImage:[UIImage imageNamed:@”圖片文件名”] forState];

  設這類屬性都是帶了forState,代表了設的這個屬性只在某個狀態下才會生效,而按鈕的狀態有下面四個:UIControlstateNormal,UIControlStateHighlighted,UIControlStateDisabled,UIControlSeleted。

  設置按鈕的背景色則不需要連帶按鈕的顏色,只按照原本的屬性設置的就可以了:btn.backgroundColor=[UIColor clearColor];

UILabel

  Label是一個很簡單很簡單的控件了,這里就列舉一下它的幾個屬性

  • text:文本內容;
  • textColor:文本的顏色;
  • textAlignment:水平對齊的方式,由于鄙人學習時是iOS6,在網上找到的很多資料都是早期版本的,不一樣的,這個需要分別列舉一下,在iOS6以后的版本,這個屬性是NSTextAlignment類型;它的值分別是
NSTextAlignmentLeft,NSTextAlignmentCenter,NSTextAlignmentRight,NSTextAlignmentJustified,NSTextAlignmentNatural

;在iOS5和更早的版本是UITextAligenment,它的值分別是

UITextAlignmentLeft,UITextAlignmentCenter,UITextAlignmentRight;
  • lineBreakMode:這個屬性比較重要,是控制單詞折行方式,它是NSLineBreakMode類型的枚舉
   NSLineBreakByWordWrapping, // 以單詞為顯示單位顯示,后面部分省略不顯示   NSLineBreakByCharWrapping, // 以字符為顯示單位顯示,后面部分省略不顯示   NSLineBreakByClipping, //剪切與文本寬度相同的內容長度,后半部分被刪除。   NSLineBreakByTruncatingHead, //前面部分文字以……方式省略,顯示尾部文字內容。   NSLineBreakByTruncatingTail, //結尾部分的內容以……方式省略,顯示頭的文字內容。     NSLineBreakByTruncatingMiddle//中間的內容以……方式省略,顯示頭尾的文字內容。 
  • numberOfLines:控制內容是否以多行顯示,如果是0則是多行;

UIImageView

  這個是用于圖片顯示的控件,通過設置image屬性來顯示那幅圖片,在OC中圖片則是UIImage類型,這個類型在UIButton部分也出現過,用于設置按鈕的圖片和按鈕的背景圖,但是要獲取這個圖片,這里有三種方式:

  • 本地資源

首先是要往項目里面添加資源:在項目里面的”項目名-Info.plist”文件右鍵”AddFiles…”將圖片資源加入項目中。然后通過下面的代碼才能正常獲取到圖片

UIImage *img=[UIImageimageNamed:@”1.jpg”]; 

否則如果單純拖拽如XCode里面,運行的時候是看不了圖片的。

  • 網絡
NSURL*url=[NSURLWrithString:@”http://www.baidu.com/img/bdlogo.png”];UIImage *img=[[UIImage alloc]iniWithData:[NSData dataWithContentsOfURL:url]];
  • 本地文件
NSString *path=[NSStringstringWithFormat:@”%@/Documents/%@.jpg”,NSHomeDirectory,@”test”];UIImage *img=[[UIImage alloc]initWithContentsOfFile:path];

常用屬性

contentMode:圖片的顯示方式,它是一個枚舉類型,

   UIViewContentModeScaleToFill,   UIViewContentModeScaleaspectFit,   UIViewContentModeScaleAspectFill,   UIViewContentModeRedraw,   UIViewContentModeCenter,   UIViewContentModeTop,   UIViewContentModeBottom,   UIViewContentModeLeft,   UIViewContentModeRight,   UIViewContentModeTopLeft,   UIViewContentModeToPRight,   UIViewContentModeBottomLeft,   UIViewContentModeBottomRight,

在以上枚舉沒帶Scale的枚舉值,都有一個共同點就是當圖片尺寸超出控件的大小時只會顯示圖片的一部分,超出的部分則不會顯示。而有三個枚舉也要特別說一下

UIViewContentModeScaleToFill圖片會變形(圖片的寬高比變了),圖片全部會顯示在控件中;

UIViewContentModeScaleAspectFit:圖片的比例不變,盡可能地填充整個控件,以最短一邊去填充控件,沒填充的部分會有補白;

UIViewContentModeScaleAspectFill:圖片的比例不變,圖片會以最長邊去填充控件,會有一部分顯示不出來;

  • center:空間的中心點位置的屬性,可以通過設置這個值來改變控件的位置,此屬性是CGPoint類型,可以通過CGPointMake(CGFloat x,CGFloat y);來構造;
  • transform:賦上不同的值,圖片會在原有的基礎上作不同的變換
  • CGAffineTransformMakeTranslation(CGFloat dx,CGFloat dy);//向分別x,y軸的正方向移動dx,dy個像素;
  • CGAffineTransformMakeRotation(CGFloat angle);//以控件的中心順時針旋轉的angle個弧度;
  • CGAffineTransformMakeScale(CGFloat scale_w,CGFloat scale_h);//按原本寬高分別縮放scale_w和scale_h倍;
  • highlightedImage:控件在高亮狀態時顯示的圖片;
  • highlighted:BOOL類型的屬性,控制控件是否在高亮狀態

UITextField

這是文本框,相對來說也是一個簡單的控件,比UILabel稍復雜一點。

  • text:NSString類型,文本框內的文字內容;
  • placeholder:NSString類型,文本框無內容時會顯示在文本框里面的內容;
  • secureTextEntry:BOOL類型,文本框內容是否以密碼形式顯示;
  • returnKeyType:彈出的軟鍵盤中,回車鍵的地方顯示的鍵的類型,分別有下面的類型;
   UIReturnKeyDefault,   UIReturnKeyGo,   UIReturnKeyGoogle,   UIReturnKeyJoin,   UIReturnKeyNext,   UIReturnKeyRoute,   UIReturnKeySearch,   UIReturnKeySend,   UIReturnKeyYahoo,   UIReturnKeyDone,   UIReturnKeyEmergencyCall,
  • keyboardType:彈出的軟鍵盤的類型,一共有下面這些類型
   UIKeyboardTypeDefault,   UIKeyboardTypeASCIICapable,   UIKeyboardTypeNumbersAndPunctuation,   UIKeyboardTypeURL,   UIKeyboardTypeNumberPad,   UIKeyboardTypePhonePad,   UIKeyboardTypeNamePhonePad,   UIKeyboardTypeEmailAddress,   UIKeyboardTypeDecimalPad,   UIKeyboardTypeTwitter,   UIKeyboardTypeWebSearch,   UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable;
  • clearButtonMode:文本框中顯示清除內容的那個叉叉的顯示時機

就是圖中紅框的地方,這個枚舉有以下這些值

   UITextFieldViewModeNever,   UITextFieldViewModeWhileEditing,   UITextFieldViewModeUnlessEditing,   UITextFieldViewModeAlways

方法

如果文本框在編輯狀態,軟鍵盤則會彈出來,如果要收起軟鍵盤,則可以調用下面這個方法

[txtBox resignFirstResponder];

事件

對于文本框,編輯前或編輯后都可以觸發不同的事件進行操作,也可以在值發生變化時觸發事件,下面則列舉出來

TextDidBeginEditing;//開始編輯時觸發TextDidEndEditing;//結束編輯時觸發TextDidChange//內容改變時觸發

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产美女精品久久久久∴| 成人中文字幕在线观看| 亚洲精品美女视频| 国产精品久久久久9999| 国内精品久久久久伊人av| 日韩欧美国产骚| 亚洲国产精品资源| 亚洲在线一区二区| 97视频在线观看视频免费视频| 久久久女人电视剧免费播放下载| 成人深夜直播免费观看| 国产丝袜一区二区| 国产视频亚洲精品| 亚洲美女动态图120秒| 久久这里有精品视频| 久热国产精品视频| 一区二区三区国产在线观看| 久久亚洲影音av资源网| 奇门遁甲1982国语版免费观看高清| 亚洲激情成人网| 米奇精品一区二区三区在线观看| 欧美精品精品精品精品免费| 亚洲午夜未满十八勿入免费观看全集| 亚洲大胆人体av| 久久好看免费视频| 国产91成人在在线播放| 亚洲色图综合网| 一区二区三区www| 中文字幕在线视频日韩| 亚洲欧美视频在线| 国产精品国产三级国产专播精品人| 国产精品久久久久久久久免费看| 欧美成人小视频| 97人人模人人爽人人喊中文字| 91欧美精品成人综合在线观看| 成人国产精品免费视频| 欧美中文在线视频| 亚洲一区av在线播放| 日韩暖暖在线视频| 久久久这里只有精品视频| 91免费视频网站| 亚洲国产成人在线播放| 成人国产在线激情| 亚洲欧美日韩国产精品| 精品日韩视频在线观看| 久久69精品久久久久久久电影好| 国产精品成人一区二区三区吃奶| 一个人www欧美| 欧美精品videosex极品1| 亚洲国产欧美一区二区三区同亚洲| 亚洲午夜精品视频| 国产婷婷97碰碰久久人人蜜臀| 欧美xxxx综合视频| 丁香五六月婷婷久久激情| 另类少妇人与禽zozz0性伦| 国产精品高潮呻吟久久av黑人| 精品中文字幕乱| 久久视频这里只有精品| 国产精品老牛影院在线观看| 韩国美女主播一区| 国产成+人+综合+亚洲欧美丁香花| 欧美性生活大片免费观看网址| 北条麻妃在线一区二区| 国产成人亚洲综合青青| 国产精品激情av电影在线观看| 国产美女精品免费电影| 亚洲欧美日韩一区二区在线| 久久亚洲精品视频| 中文字幕欧美日韩精品| 在线日韩欧美视频| 欧美日韩亚洲系列| 久久精品国产欧美激情| 日韩av网站大全| 久久伊人91精品综合网站| 欧美激情a在线| 少妇高潮久久77777| 欧美日韩美女在线观看| 国产精品自拍网| 美女啪啪无遮挡免费久久网站| 国产精品亚洲精品| 国内精品视频在线| 夜色77av精品影院| 成人国产精品久久久| 色综合导航网站| 欧美视频在线观看 亚洲欧| 精品久久久久久久久久久| 亚洲va欧美va国产综合久久| 久久成人av网站| 粗暴蹂躏中文一区二区三区| 欧美在线中文字幕| 九九热这里只有精品免费看| www.久久草.com| 一本大道久久加勒比香蕉| 国产一区二区丝袜高跟鞋图片| 欧美国产视频日韩| 亚洲欧美中文字幕| 一区二区三区动漫| 亚洲91精品在线观看| 98视频在线噜噜噜国产| 欧美激情亚洲国产| 日韩美女视频免费看| 精品国产成人av| 亚洲成人在线视频播放| 国产精品永久免费观看| 欧美精品18videos性欧美| 91日本在线观看| 最近2019中文免费高清视频观看www99| 日韩精品免费综合视频在线播放| 国产v综合ⅴ日韩v欧美大片| 91精品久久久久久久久久久久久| 精品毛片三在线观看| 懂色av影视一区二区三区| 亚洲欧美自拍一区| 国产精品中文字幕在线| 欧美激情久久久久| 久久在线视频在线| 欧美国产亚洲精品久久久8v| 国产精品成人免费电影| 日韩高清电影免费观看完整版| 欧美一区二区三区艳史| 91精品国产色综合| 美日韩精品免费观看视频| 久久精品视频播放| 亚洲精品中文字幕av| 91精品视频观看| 国产成人涩涩涩视频在线观看| 97在线视频国产| 在线观看91久久久久久| 日本精品一区二区三区在线| 亚洲男人天堂2019| 黑人精品xxx一区| 亚洲一区二区三区成人在线视频精品| 日韩av电影手机在线观看| 精品久久久久久国产91| 538国产精品视频一区二区| 欧美在线视频免费观看| 亚洲r级在线观看| 久久伊人精品视频| 国产精品福利无圣光在线一区| 欧美性色xo影院| 日韩av在线免播放器| 国产精品视频永久免费播放| 欧美成人免费观看| 精品国内产的精品视频在线观看| 精品一区二区三区三区| 成人福利在线视频| 亚洲国产成人av在线| 日韩av一区在线| 国内精品久久久久伊人av| 欧美黑人一级爽快片淫片高清| 久久九九国产精品怡红院| 26uuu久久噜噜噜噜| 亚洲一区二区三区四区在线播放| 成人在线视频网站| 日产日韩在线亚洲欧美| 日韩不卡中文字幕| 91性高湖久久久久久久久_久久99| 亚洲精品一区久久久久久| 九九热最新视频//这里只有精品| 亚洲欧美一区二区三区情侣bbw| 国产91精品久久久久久| 色视频www在线播放国产成人| 国产精品69av| 日韩精品在线视频观看|