UI基礎(chǔ)的簡單控制

contentMode屬性

帶有scale單詞的:圖片有可能會拉伸

UIViewContentModeScaleToFill

將圖片拉伸至填充整個imageView

圖片顯示的尺寸跟imageView的尺寸是一樣的

帶有aspect單詞的:保持圖片原來的寬高比

UIViewContentModeScaleAspectFit

保證剛好能看到圖片的全部

UIViewContentModeScaleAspectFill

拉伸至圖片的寬度或者高度跟imageView一樣

沒有scale單詞的:圖片絕對不會被拉伸萤厅,保持圖片的原尺寸

UIViewContentModeCenter

UIViewContentModeTop

UIViewContentModeBottom

UIViewContentModeLeft

UIViewContentModeRight

UIViewContentModeTopLeft

UIViewContentModeTopRight

UIViewContentModeBottomLeft

UIViewContentModeBottomRight

小語法點

不能直接修改:OC對象的結(jié)構(gòu)體屬性的成員

下面的寫法是錯誤的

imageView.frame.size= imageView.image.size;

正確寫法

//在OC中對象結(jié)構(gòu)體成員的修改,可以創(chuàng)建一個臨時的結(jié)構(gòu)體來取值CGRecttempFrame = imageView.frame;tempFrame.size= imageView.image.size;imageView.frame= tempFrame;

initWithImage:方法

利用這個方法創(chuàng)建出來的imageView的尺寸和傳入的圖片尺寸一樣

修改frame的3種方式

直接使用CGRectMake函數(shù)

imageView.frame=CGRectMake(100,100,200,200);

利用臨時結(jié)構(gòu)體變量

CGRecttempFrame = imageView.frame;tempFrame.origin.x=100;tempFrame.origin.y=100;tempFrame.size.width=200;tempFrame.size.height=200;imageView.frame= tempFrame;

使用大括號{}形式

imageView.frame= (CGRect){{100,100}, {200,200}};

抽取重復(fù)代碼

將相同代碼放到一個新的方法中

不用的東西就變成方法的參數(shù)

圖片的加載方式

有緩存

UIImage*image = [UIImageimageNamed:@"圖片名"];

使用場合:圖片比較小建椰、使用頻率較高

建議把需要緩存的圖片直接放到Images.xcassets

無緩存

NSString*file = [[NSBundlemainBundle] pathForResource:@"圖片名"ofType:@"圖片的擴展名"];UIImage*image = [UIImageimageWithContentsOfFile:@"圖片文件的全路徑"];

使用場合:圖片比較大卵凑、使用頻率較小

不需要緩存的圖片不能放在Images.xcassets

放在Images.xcassets里面的圖片,只能通過圖片名去加載圖片

延遲做一些事情

[abc performSelector:@selector(stand:) withObject:@"123"afterDelay:10];// 10s后自動調(diào)用abc的stand:方法蠢络,并且傳遞@"123"參數(shù)

音頻文件的簡單播放

// 創(chuàng)建一個音頻文件的URL(URL就是文件路徑對象)NSURL*url = [[NSBundlemainBundle] URLForResource:@"音頻文件名"withExtension:@"音頻文件的擴展名"];// 創(chuàng)建播放器self.player= [AVPlayerplayerWithURL:url];// 播放[self.playerplay];


UIImageView的常見屬性

@property(nonatomic,retain)UIImage*image;顯示的圖片@property(nonatomic,copy)NSArray*animationImages;顯示的動畫圖片@property(nonatomic)NSTimeIntervalanimationDuration;動畫圖片的持續(xù)時間@property(nonatomic)NSIntegeranimationRepeatCount;動畫的播放次數(shù)(默認是0,代表無限播放)

UIImageView的常見方法

-(void)startAnimating//開始動畫

-(void)stopAnimating;//停止動畫

-(BOOL)isAnimating;//是否正在執(zhí)行動畫

UIImage

一個UIImage對象代表一張圖片熬的,一般通過imageNamed:方法就可以通過文件名加載項目中的圖片

例子

UIImage*image = [UIImageimageNamed:@"lufy"];

UILabel

設(shè)置顯示多少行,要想顯示所有的行數(shù),設(shè)置為0

label.numberOfLines =2;

@property(nonatomic,copy)NSString*text;顯示的文字@property(nonatomic,retain)UIFont*font;字體@property(nonatomic,retain)UIColor*textColor;文字顏色@property(nonatomic)NSTextAlignmenttextAlignment;對齊模式(比如左對齊点寥、居中對齊咕村、右對齊)@property(nonatomic)NSIntegernumberOfLines;文字行數(shù)@property(nonatomic)NSLineBreakModelineBreakMode;換行模式

UIFront

UIFont代表字體场钉,常見創(chuàng)建方法有以下幾個:

1系統(tǒng)默認字體 + (UIFont *)systemFontOfSize:(CGFloat)fontSize;

2粗體 + (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize;

3斜體 + (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize;

可以不用記,當需要時,要學(xué)會自學(xué),跳到頭文件中,查看就可以,不懂的可以自己動手測試出來


UIButton

UIbutton的狀態(tài)

normal(普通狀態(tài))

默認情況(Default)

對應(yīng)的枚舉常量:UIControlStateNormal

highlighted(高亮狀態(tài))

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

對應(yīng)的枚舉常量:UIControlStateHighlighted

disabled(失效狀態(tài),不可用狀態(tài))

如果enabled屬性為NO懈涛,就是處于disable狀態(tài)惹悄,代表按鈕不可以被點擊

對應(yīng)的枚舉常量:UIControlStateDisabled

設(shè)置按鈕在不同狀態(tài)的背景圖片

按鈕的樣式

UIButton的常見設(shè)置

- (void)setTitle:(NSString *)titleforState:(UIControlState)state;設(shè)置按鈕的文字

- (void)setTitleColor:(UIColor *)colorforState:(UIControlState)state;設(shè)置按鈕的文字顏色

- (void)setImage:(UIImage *)imageforState:(UIControlState)state;設(shè)置按鈕內(nèi)部的小圖片

- (void)setBackgroundImage:(UIImage *)imageforState:(UIControlState)state;設(shè)置按鈕的背景圖片

btn.titleLabel.font = [UIFont systemFontOfSize:13];設(shè)置按鈕的文字字體(需要拿到按鈕內(nèi)部的label來設(shè)置)

- (NSString *)titleForState:(UIControlState)state;獲得按鈕的文字

- (UIColor *)titleColorForState:(UIControlState)state;獲得按鈕的文字顏色

- (UIImage *)imageForState:(UIControlState)state;獲得按鈕內(nèi)部的小圖片

- (UIImage *)backgroundImageForState:(UIControlState)state;獲得按鈕的背景圖片

choose for the UIImageView and UILabel and UIButton

UIButton、UIImageView肩钠、UILabel的選擇


僅僅是顯示數(shù)據(jù),不需要點擊

建議選擇UIImageView暂殖、UILabel

不僅顯示數(shù)據(jù)价匠,還需要監(jiān)聽點擊

建議選擇UIButton

其實UIImageView、UILabel也可以通過手勢識別器來監(jiān)聽

長按控件后呛每,會改變顯示的內(nèi)容

不用考慮了踩窖,選擇UIButton(因為UIButton有highlighted這種狀態(tài))

同時顯示2張圖片:背景圖片、內(nèi)容圖片

不用考慮了晨横,選擇UIButton

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末洋腮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子手形,更是在濱河造成了極大的恐慌啥供,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件库糠,死亡現(xiàn)場離奇詭異伙狐,居然都是意外死亡,警方通過查閱死者的電腦和手機瞬欧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門贷屎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人艘虎,你說我怎么就攤上這事唉侄。” “怎么了野建?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵属划,是天一觀的道長。 經(jīng)常有香客問我贬墩,道長榴嗅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任陶舞,我火速辦了婚禮嗽测,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己唠粥,他們只是感情好疏魏,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著晤愧,像睡著了一般大莫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上官份,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天只厘,我揣著相機與錄音,去河邊找鬼舅巷。 笑死羔味,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的钠右。 我是一名探鬼主播赋元,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼飒房!你這毒婦竟也來了搁凸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤狠毯,失蹤者是張志新(化名)和其女友劉穎护糖,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體垃你,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡椅文,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了惜颇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片皆刺。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖凌摄,靈堂內(nèi)的尸體忽然破棺而出羡蛾,到底是詐尸還是另有隱情,我是刑警寧澤锨亏,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布痴怨,位于F島的核電站,受9級特大地震影響器予,放射性物質(zhì)發(fā)生泄漏浪藻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一乾翔、第九天 我趴在偏房一處隱蔽的房頂上張望爱葵。 院中可真熱鬧施戴,春花似錦、人聲如沸萌丈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辆雾。三九已至肪笋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間度迂,已是汗流浹背藤乙。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留惭墓,地道東北人湾盒。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像诅妹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子毅人,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一個UIButton的實例變量吭狡, 使一個按鈕(button)在觸摸屏上生效。一個按鈕監(jiān)聽觸摸事件丈莺,當被點擊時划煮,給目...
    wushuputi閱讀 1,502評論 0 1
  • 前言:UI控件整理之UIButton 一、顯示圖片(復(fù)選框) UIButton *button = [UIButt...
    心如止水的魚閱讀 277評論 0 0
  • 一缔俄、UIView常見屬性 1.frame 位置和尺寸(以父控件的左上角為原點(0弛秋,0)) 2.center 中點(...
    脫下國際籃化身程序猿閱讀 265評論 0 0
  • 2017年的夏天蟹略,炎熱而又茫然的躺在沙發(fā)里,心想著充滿未知的未來遏佣,聽著電視里傳來“敢問路在何方”的旋律挖炬。 都說我們...
    V加加布魯根閱讀 248評論 0 0
  • 穿行十月的風雨 □曾曉琴 越過十月風雨 有誰相伴 經(jīng)年累月的路途 那 風雨被十月的目光…… 打量近處與遠方 困...
    向前的冰山來客15669閱讀 261評論 0 6