0

對於每個視圖控制器,我的導航欄中有多個UIBarButtonItem s。右側的最後一個是具有自定義視圖的商品,因爲商品上的號碼旨在在您添加或從您的購物車中移除商品時進行更新。當我旋轉ipad時,如何從拉伸的自定義視圖停止UIBarButtonItem?

當我將項目添加到視圖控制器的navigationItem時,最初看起來一切都很好。然而,當我旋轉的ipad,按鈕延伸(如果它在縱向啓動)或它收縮(如果它在橫向開始)實施例的圖像來說明:

Expected appearance in portrait Stretched out appearance in landscape

我試圖設置寬度的項目到44(自定義uibutton的大小,因爲它在我設計的xib中),在自動佈局中設置自定義視圖的寬度約束等,但這是行不通的。如何強制導航項目保留自定義視圖的固定大小?

謝謝!

回答

0

我找到了解決此問題的解決方法。如果我重寫我的UIButton子類setFrame:像這樣:

- (void)setFrame:(CGRect)frame 
{ 
    frame.size.width = 44; 
    [super setFrame:frame]; 
} 

然後勾畫出正確。看起來像一個惱人的黑客/解決方法,但它的作品!