titleView不居中的問(wèn)題

突然發(fā)現(xiàn)自定義完 leftBarButtonItem 然后自定義titleView,titleView往右偏移

究其原因是因?yàn)?設(shè)置titleview之前,先初始化leftBarButtonItem和rightBarButtonItem的位置,然后根據(jù)leftBarButtonItem和rightBarButtonItem的位置來(lái)使titleview居中。

//必須放在 leftBarButtonItem和rightBarButtonItem初始化之后調(diào)用

廢話(huà)不說(shuō) 上代碼

CGRect leftViewbounds = self.navigationItem.leftBarButtonItem.customView.bounds;

CGRect rightViewbounds = self.navigationItem.rightBarButtonItem.customView.bounds;

CGRect frame;

CGFloat maxWidth = leftViewbounds.size.width > rightViewbounds.size.width ? leftViewbounds.size.width : rightViewbounds.size.width;

maxWidth += 15;//leftview 左右都有間隙,左邊是5像素,右邊是8像素,加2個(gè)像素的閥值 5 + 8 + 2

frame = self.titleLabel.frame;

frame.size.width = SWIDTH - maxWidth * 2;

self.titleLabel.frame = frame;

self.navigationItem.titleView = self.titleLabel;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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