UINavigationItem的titleView的frame問題

    首先簡單介紹我遇到的問題:自定義titleView,裏面有一些label,顯示內容須要請求網絡得到,因而就出現了加載titleView比較晚(頁面已經顯示,纔開始設置titleView)的狀況,發現這種狀況下titleView的位置會變化。api

    下面代碼是蘋果對titleView的API定義:
網絡

@property(nonatomic,retain) UIView          *titleView;         // Custom view to use in lieu of a title. May be sized horizontally. Only used when item is topmost on the stack.

  根據api定義,它會在水平方向調整尺寸。可是我監聽titleView的frame後發現,無論你設置titleView的frame是多少,系統會從新調整它的orgin,x和y都會調整,也就是說不光是水平方向,可是不會改變寬高。  測試

  經測試,這個調整動做會在設置titleView後很快的時間裏執行,若是不是由於有網絡請求的過程,它會在頁面展示以前完成,因此這種狀況下,你怎麼設置frame都不會出現問題。atom


   結論:在vc加載過程當中(loadView或viewdidload)就設置好titleView,而後根據網絡請求的結果再去更新titleView中的展現內容,這樣就不會讓用戶看到titleView的位置移動了。spa


(上面推理,根據代碼監聽titleView進行的,若是有什麼地方不對,還望大牛指出)code

相關文章
相關標籤/搜索