彩票案例 修改導航欄樣式 單個Button的修改

2021-06-29 04:23:50 字數 1393 閱讀 6757

導航欄中修改樣式:預設的的是左邊,右邊文字,但是我們想新的樣式怎麼辦呢?

老規則:自定義乙個類繼承button

重點:在uibutton中有幾個方法等待我們去實現:下面便是其中二個方法,只要去實現這個方法,回頭在方法中返回就能修改控制項的屬性

- (cgrect)titlerectforcontentrect:(cgrect)contentrect

-(cgrect)imagerectforcontentrect:(cgrect)contentrect

修改如下:

補充點:因為在修改的是,需要取出字型的屬性font,但取的時候會呼叫自身的titlerectforcontentrect方法,這樣就有了乙個死迴圈

解決的辦法就是:

#import "fltitilebutton.h"

@inte***ce fltitilebutton()

@property(nonatomic, strong) uifont *titlefont;

@end

@implementation fltitilebutton

/** * 不一定會呼叫這個方法,因此不知道是否是從xib檔案中載入來的

*///- (void)awakefromnib

///**

* 從檔案中解析乙個物件的時候,一定會呼叫initwithcoder這個方法

* */

- (id)initwithcoder:(nscoder *)decoder

return self;

}/**

* 控制內部label的frame

* * @param contentrect 按鈕自己的寬高

* */

- (cgrect)titlerectforcontentrect:(cgrect)contentrect

; cgfloat titlew = [self.currenttitle boundingrectwithsize:cgsizemake(maxfloat, maxfloat) options:nsstringdrawinguseslinefragmentorigin attributes:attr context:nil].size.width;

cgfloat titleh = contentrect.size.height;

return cgrectmake(titlex, titley, titlew, titleh);

}/**

* 控制內部imageview的frame

* * @param contentrect 按鈕自己的寬高

* */

-(cgrect)imagerectforcontentrect:(cgrect)contentrect

@end

彩票案例 開端

重要知識點 1 刪除main.storyboard中預設控制器,拖動tab bar controller 2 將子控制器刪除,換成導航控制器 3 拖線 在tab bar controller中右擊拖動controller到對應的每個controller 4 小技巧 控制按鈕的的狀態在android中...

彩票案例 指標型別 weak和strong

指標型別 1 以前所有控制項的型別都是weak型別,property nonatomic,weak uiimageview arrowview 2 這次轉換,採用strong型別,因為weak是弱指標,而弱指標使用完了記憶體就會 又因為這裡的使用場景是 在cell中每行的使用,不能採用弱指標,因為弱...

彩票案例 自定義裡面的button

小問題 當替換之後,自定義裡面的button已經改變,但是沒有改變高亮的時候的陰影,怎麼處理?原來是在button在高亮的時候做了複雜處理,而我們需要做的就是重新繼承,重寫這個方法 void sethighlighted bool highlighted方法重寫,然後不呼叫父類的方法 import ...