MyLinearLayout 之 初級(jí)學(xué)習(xí)經(jīng)驗(yàn)

首先聲明本文檔純屬原創(chuàng)澄步,如果你喜歡的話請(qǐng)轉(zhuǎn)載

自我感悟


首先介紹下第一印象鼓鲁,感覺MyLayout 很強(qiáng)大不用添加很多的約束就能實(shí)現(xiàn)完美實(shí)現(xiàn)布局。比如UIScrollView 自動(dòng)會(huì)設(shè)置ContentSize,如果內(nèi)容子視圖的超出UIScrollView 的時(shí)候就會(huì)自動(dòng)實(shí)現(xiàn)滑動(dòng)肆饶,還有就是如果一個(gè)等間距,等寬或者等高子視圖的布局很簡(jiǎn)單岖常,少量代碼就能完美實(shí)現(xiàn)驯镊。好了,廢話少說,直接上代碼板惑。

初級(jí)介紹


幾個(gè)關(guān)鍵字

myMargin(就是子視圖距父視圖的間距橄镜,相當(dāng)于一次設(shè)置了myLeftMargin,myRightMargin冯乘, 洽胶,myRightMarginmyBottomMargin, 當(dāng)然了如果這幾個(gè)間距不相等就需要分開賦值了),

myWidth(本視圖的寬度)

myHeight(本視圖的高度)


1.? 根據(jù)x裆馒,y 姊氓,width ,height 喷好,將視圖顯示在固定位置(例如x = 20 翔横, y = 200 , width = 200, height = 40)

你可能直接理解為(如下)

UILabel *label = [[UILabel alloc] init];

label.backgroundColor = [UIColor greenColor];

label.text = @"第一顯示子視圖請(qǐng)確定位置" ;

label.myLeftMargin = 20 ;?? // 設(shè)置左邊距

label.myTopMargin = 200; ; //設(shè)置上邊距

label.myHeight = 40 ; //設(shè)置高度

label.myWidth = 200; // 設(shè)置寬度

label.font = [UIFont systemFontOfSize:20];

label.textAlignment = NSTextAlignmentCenter ;

[self.view addSubview:label];

然后執(zhí)行梗搅,你發(fā)現(xiàn)界面上什么都沒有禾唁,你肯定要問為什么了,首先MyLinearLayout是一種布局視圖些膨,只要是界面上顯示的一個(gè)view蟀俊,都要加上約束也就是添加MylinearLayout約束,看上面代碼你會(huì)發(fā)現(xiàn)self.view(理論上也就是一個(gè)UIView)沒有添加約束订雾,好了現(xiàn)在知道原因就可以更改了肢预,

對(duì)self.view 添加約束

MyLinearLayout *layout = [MyLinearLayout linearLayoutWithOrientation:MyLayoutViewOrientation_Vert];

layout.myMargin = 0 ;

layout.backgroundColor = [UIColor whiteColor];

layout.wrapContentHeight = YES ; // 設(shè)置self.view 的高度是根據(jù)子視圖高度 來顯示也就是變長(zhǎng)的

layout.wrapContentWidth = NO ; // 設(shè)置self.view 的寬度是定長(zhǎng),現(xiàn)在是self.view 的寬度和window 的寬度一致

[self.view addSubview:layout];

//? 或者你也可以這樣做

/*

MyLinearLayout *layout = [MyLinearLayout linearLayoutWithOrientation:MyLayoutViewOrientation_Vert];

layout.myMargin = 0 ;

layout.backgroundColor = [UIColor whiteColor];

layout.wrapContentHeight = YES ;

layout.wrapContentWidth = NO ;

self.view = layout ;

*/

上面label代碼就可以修改為 (也就是修改最后一句代碼為 )

[layout addSubview:label];

這樣label就顯示出來洼哎!顯示出來你可能又要問烫映,一般label 就是根據(jù)text 內(nèi)容寬度來顯示的,好的下面就介紹


根據(jù)UILabel 的text 的內(nèi)容來顯示(text有多寬就顯示多寬噩峦,高度根據(jù)label的font來顯示, 如下圖所示)

label 中的設(shè)置myWidth 和myHeight 的代碼去掉锭沟,添加 sizeToFit (設(shè)置label 寬度)和 flexedHeight = YES(設(shè)置label 高度),完整代碼就是

UILabel *label = [[UILabel alloc] init];

label.backgroundColor = [UIColor greenColor];

label.text = @"第一顯示子視圖請(qǐng)確定位置" ;

label.myLeftMargin = 20 ;

label.myTopMargin = 200; ;

label.flexedHeight = YES ; // 確定label 的高度

label.font = [UIFont systemFontOfSize:10];

label.textAlignment = NSTextAlignmentCenter ;

[label sizeToFit];? // 根據(jù)內(nèi)容長(zhǎng)度來確定label 的寬度

[layout addSubview:label];


當(dāng)然還是有人說识补,我想給一段text族淮,固定label 的寬度,來變長(zhǎng)顯示凭涂,好的代碼如下

根據(jù)UILabel 中text 的內(nèi)容祝辣,多行顯示label 代碼如下

UILabel *label = [[UILabel alloc] init];

label.backgroundColor = [UIColor greenColor];

label.text = @"第一顯示子視圖請(qǐng)確定位置第一顯示子視圖請(qǐng)確定位置第一顯示子視圖請(qǐng)確定位置第一顯示子視圖請(qǐng)確定位置第一顯示子視圖請(qǐng)確定位置第一顯示子視圖請(qǐng)確定位置第一顯示子視圖請(qǐng)確定位置第一顯示子視圖請(qǐng)確定位置" ;

label.myLeftMargin = 20 ;

label.myRightMargin = 20 ;

label.myTopMargin = 200; ;

label.flexedHeight = YES ;

label.font = [UIFont systemFontOfSize:10];

label.textAlignment = NSTextAlignmentCenter ;

label.numberOfLines = 0;

[layout addSubview:label];

// 顯示如下

G

M

T

檢測(cè)語言阿爾巴尼亞語阿拉伯語阿塞拜疆語愛爾蘭語愛沙尼亞語巴斯克語白俄羅斯語保加利亞語冰島語波蘭語波斯尼亞語波斯語布爾語(南非荷蘭語)丹麥語德語俄語法語菲律賓語芬蘭語高棉語格魯吉亞語古吉拉特語哈薩克語海地克里奧爾語韓語豪薩語荷蘭語加利西亞語加泰羅尼亞語捷克語卡納達(dá)語克羅地亞語拉丁語拉脫維亞語老撾語立陶宛語羅馬尼亞語馬爾加什語馬耳他語馬拉地語馬拉雅拉姆語馬來語馬其頓語毛利語蒙古語孟加拉語緬甸語苗語南非祖魯語尼泊爾語挪威語旁遮普語葡萄牙語齊切瓦語日語瑞典語塞爾維亞語塞索托語僧伽羅語世界語斯洛伐克語斯洛文尼亞語斯瓦希里語宿務(wù)語索馬里語塔吉克語泰盧固語泰米爾語泰語土耳其語威爾士語烏爾都語烏克蘭語烏茲別克語希伯來語希臘語西班牙語匈牙利語亞美尼亞語伊博語意大利語意第緒語印地語印尼巽他語印尼語印尼爪哇語英語約魯巴語越南語中文簡(jiǎn)體中文繁體

阿爾巴尼亞語阿拉伯語阿塞拜疆語愛爾蘭語愛沙尼亞語巴斯克語白俄羅斯語保加利亞語冰島語波蘭語波斯尼亞語波斯語布爾語(南非荷蘭語)丹麥語德語俄語法語菲律賓語芬蘭語高棉語格魯吉亞語古吉拉特語哈薩克語海地克里奧爾語韓語豪薩語荷蘭語加利西亞語加泰羅尼亞語捷克語卡納達(dá)語克羅地亞語拉丁語拉脫維亞語老撾語立陶宛語羅馬尼亞語馬爾加什語馬耳他語馬拉地語馬拉雅拉姆語馬來語馬其頓語毛利語蒙古語孟加拉語緬甸語苗語南非祖魯語尼泊爾語挪威語旁遮普語葡萄牙語齊切瓦語日語瑞典語塞爾維亞語塞索托語僧伽羅語世界語斯洛伐克語斯洛文尼亞語斯瓦希里語宿務(wù)語索馬里語塔吉克語泰盧固語泰米爾語泰語土耳其語威爾士語烏爾都語烏克蘭語烏茲別克語希伯來語希臘語西班牙語匈牙利語亞美尼亞語伊博語意大利語意第緒語印地語印尼巽他語印尼語印尼爪哇語英語約魯巴語越南語中文簡(jiǎn)體中文繁體

語言功能限100個(gè)字符

選項(xiàng):歷史:幫助:反饋關(guān)閉

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市切油,隨后出現(xiàn)的幾起案子蝙斜,更是在濱河造成了極大的恐慌,老刑警劉巖澎胡,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孕荠,死亡現(xiàn)場(chǎng)離奇詭異娩鹉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)稚伍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門弯予,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人槐瑞,你說我怎么就攤上這事熙涤「蟀” “怎么了困檩?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)那槽。 經(jīng)常有香客問我悼沿,道長(zhǎng),這世上最難降的妖魔是什么骚灸? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任糟趾,我火速辦了婚禮,結(jié)果婚禮上甚牲,老公的妹妹穿的比我還像新娘义郑。我一直安慰自己,他們只是感情好丈钙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布非驮。 她就那樣靜靜地躺著,像睡著了一般雏赦。 火紅的嫁衣襯著肌膚如雪劫笙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天星岗,我揣著相機(jī)與錄音填大,去河邊找鬼。 笑死俏橘,一個(gè)胖子當(dāng)著我的面吹牛允华,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播寥掐,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼靴寂,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了曹仗?” 一聲冷哼從身側(cè)響起榨汤,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎怎茫,沒想到半個(gè)月后收壕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體妓灌,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年蜜宪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虫埂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡圃验,死狀恐怖掉伏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情澳窑,我是刑警寧澤斧散,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站摊聋,受9級(jí)特大地震影響鸡捐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜麻裁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一箍镜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧煎源,春花似錦色迂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至原献,卻和暖如春馏慨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背姑隅。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工写隶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人讲仰。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓慕趴,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親鄙陡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子冕房,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

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