iOS開發關於UISearchBar自定義取消按鈕的顏色,字體,大小


兩種方法
1:直接遍歷searchBar子視圖,這種方法不太好,因為隨着版本升級它內部層級可能會發生變化(例如IOS11的導航欄,懂得自然懂)

2:取私有變量

   UIButton *cancel = [self valueForKey:@"_cancelButton"];

    [cancel setTitle:@"取消" forState:UIControlStateNormal];

    //這種狀態不寫是不行的

    [cancel setTitle:@"取消" forState:UIControlStateDisabled];

    [cancel setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

    [cancel setTitleColor:[UIColor blackColor] forState:UIControlStateDisabled];

    cancel.titleLabel.font = [UIFont systemFontOfSize:14];

Tips:私有變量是如何取到的,下面給出一段代碼(看打印后自己憑命名猜的)

 

//獲取第一個成員變量的地址

Ivar *ivars = class_copyIvarList([UISearchBar class], &count);

for (int i = 0; i < count; i++) {

Ivar ivar = *(ivars + i);

NSLog(@"%s",ivar_getName(ivar));

 }

//誰copy誰釋放

free(ivars);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM