封裝.抽取分類思想

1.分析界面,界面非常簡單,界面內(nèi)容固定,直接使用xib來描述

注意:使用xib要先綁定類,還需要連線

如果是在創(chuàng)建類的同時也創(chuàng)建xib就可以省略上面操作, ? 系統(tǒng)自動幫我們做了

2.登錄注冊界面分析

復(fù)雜界面(子控件非常多)

1.劃分結(jié)構(gòu)(頂部,中間,底部)

2.創(chuàng)建占位視圖,占據(jù)結(jié)構(gòu)位置

3.一個結(jié)構(gòu)一個結(jié)構(gòu)做

3.把每一塊結(jié)構(gòu)都單獨封裝起來, ? 為什么?

方便以后需求變更,我們來改代碼

封裝的時候可以考慮兩點:

1.界面是固定不變的,直接用xib來封裝

2.如果該結(jié)構(gòu)以后可能只是在當(dāng)前界面位置變動,可以把結(jié)構(gòu)模塊封裝到一個view里面(占位思想)

4.把登錄模塊封裝到xib

4.1 圖片圓角處理

1.自己給原來的圖片設(shè)置圓角

self.loginButton.layer.cornerRadius = 5;

self.loginButton.layer.masksToBounds = YES;

//self.loginButton.clipsToBounds = YES;

2.用美工給的帶圓角的圖片,不過要設(shè)置可拉伸區(qū)域

為什么,圖片會被拉伸的很難看(不規(guī)則的圖片可能設(shè)置不成功)

bgImage = [bgImagestretchableImageWithLeftCapWidth:bgImage.size.width*0.5topCapHeight:bgImage.size.height*0.5];

在哪里設(shè)置?awakeFromNib

// 如果執(zhí)行了awakeFromNib,說明當(dāng)前控件在xib中所有屬性全部設(shè)置好

// 只要在awakeFromNib里面,就能獲取到xib中所有屬性

5.設(shè)置輸入文本框

5.1文本框有背景,怎么設(shè)置?

先設(shè)置一個ImageView,設(shè)置圖片為背景圖片

5.2 ImageView里面xib不能拖進去子控件?怎么辦?

弄一個View,把ImageView放進去,View的大小正好是兩個輸入框的大小

5.3 在view里面拖進去兩個UITextField 等分view

5.4 設(shè)置占位文字

6.抽取frame分類

6.1為什么抽取這個分類?

項目中很多地方都要用到frame.origin.x/y ? ?frame.size.width / hight 我們不能直接修改,要先定義屬性=frame.然后修改 ?再賦值回去很麻煩

6.2 給誰抽取分類?

給UIView抽取分類,所有的控件都能用了

6.3 怎么讓自己的分類成員變量名稱和其它人的名稱不會重復(fù)

給成員變量名稱加上類前綴

7.自定義快速登錄視圖

7.1 使用xib搭建界面

7.2 快速登錄按鈕需要自定義,為什么?

需求要求按鈕內(nèi)部圖片在上, 文字在下,系統(tǒng)的是圖片在左,文字在右

7.3 怎么自定義按鈕

新建一個類繼承UIButton ? 在layoutSubviews里面修改尺寸

7.4 運行發(fā)現(xiàn) 文字不能顯示完全,為什么?

label的尺寸比文字的尺寸小,顯示不完全

7.5 怎么解決

1.計算文字的尺寸,讓label的尺寸和文字尺寸一樣就可以了

2.讓label尺寸自適應(yīng)sizeToFit

- (void)layoutSubviews

{

// 一定要調(diào)用layoutSubviews

[superlayoutSubviews];

self.imageView.xmg_centerX=self.xmg_width*0.5;

self.imageView.xmg_y=0;

// 設(shè)置label尺寸

// 計算文字尺寸 設(shè)置label尺寸

//??? CGFloat w = [self.titleLabel.text sizeWithFont:[UIFont systemFontOfSize:18]].width;

//??? self.titleLabel.xmg_width = w;

[self.titleLabelsizeToFit];

// 設(shè)置中心點

self.titleLabel.xmg_centerX=self.xmg_width*0.5;

self.titleLabel.xmg_y=self.xmg_height-self.titleLabel.xmg_height;

}

8.xib注意點

8.1 加載xib的時候,要不要設(shè)置xib的frame?

要如果一個控件通過xib加載,默認跟xib一樣尺寸

1.如果一個View通過xib加載,需要再次設(shè)置frame

8.2 在哪里設(shè)置?在viewDidLoad設(shè)置子控件的frame,好不好?

不可以,viewDidLoad里面控制器View的子控件的尺寸還沒有設(shè)置,viewDidLayoutSubviews會重新調(diào)整內(nèi)部子控件的位置

viewDidLayoutSubviews:控制器的方法

layoutSubview:控件的方法

8.3 怎么拿到xib描述的View 設(shè)置約束?

1. 定義成員變量,賦值

2.xib的view都添加到對應(yīng)的父控件中,我們可以從對應(yīng)的父控件的subviews數(shù)組里面取

XTLoginRegisterView*registerView =_middleView.subviews.lastObject;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末灿意,一起剝皮案震驚了整個濱河市拒啰,隨后出現(xiàn)的幾起案子蒜胖,更是在濱河造成了極大的恐慌被济,老刑警劉巖路克,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異火本,居然都是意外死亡祟印,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門宙枷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掉房,“玉大人,你說我怎么就攤上這事慰丛∽壳簦” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵诅病,是天一觀的道長哪亿。 經(jīng)常有香客問我粥烁,道長,這世上最難降的妖魔是什么锣夹? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任页徐,我火速辦了婚禮,結(jié)果婚禮上银萍,老公的妹妹穿的比我還像新娘变勇。我一直安慰自己,他們只是感情好贴唇,可當(dāng)我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布搀绣。 她就那樣靜靜地躺著,像睡著了一般戳气。 火紅的嫁衣襯著肌膚如雪链患。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天瓶您,我揣著相機與錄音麻捻,去河邊找鬼。 笑死呀袱,一個胖子當(dāng)著我的面吹牛贸毕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播夜赵,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼明棍,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了寇僧?” 一聲冷哼從身側(cè)響起摊腋,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嘁傀,沒想到半個月后兴蒸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡细办,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年类咧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蟹腾。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡痕惋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出娃殖,到底是詐尸還是另有隱情值戳,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布炉爆,位于F島的核電站堕虹,受9級特大地震影響卧晓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赴捞,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一逼裆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赦政,春花似錦胜宇、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至掰派,卻和暖如春从诲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背靡羡。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工系洛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人略步。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓描扯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親纳像。 傳聞我的和親對象是個殘疾皇子荆烈,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,870評論 2 361

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