你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> ios 加載xib遇到的坑

ios 加載xib遇到的坑

編輯:IOS開發綜合

storyboard,個人覺得是個好玩意兒,但是什麼都做到其中總覺得雜亂。個人偏好把復雜的局部控件(比如定制的collectionviewcell)在xib文件中拉好。

在開發過程中遇到不少坑,記憶猶新的是:xib中的部件(比如button)設置圓角的效果不對;加載的xib不能resize大小。

第一個問題:

圓角的設置代碼:

 

view.layer.cornerRadius = view.frame.size.height / 2;

 

使用了autolayout則需要注意調用的地方:(因為autolayout會重新計算frame,在這裡調用子控件的frame才是正確的)

 

 

- (void)viewDidLayoutSubviews;

 

好了,如果xib呢?在下面函數中,寫你需要達到的子控件的效果。

 

 

-layoutSubviews;

 

在xib的擁有者調用以下函數,下面函數會出發layoutSubviews

 

 

[xib layoutIfNeeded]

-----------華麗的分割線----------------

 

第二個問題:

你設置了xib的大小,但是界面上xib還是頑固的顯示它的xib中的大小。腫麼辦。

 

- (void)awakeFromNib {
    [super awakeFromNib];

    //solve UICollectionViewCell subviews do not resize
    self.contentView.autoresizingMask =
        //UIViewAutoresizingFlexibleLeftMargin |
        UIViewAutoresizingFlexibleWidth |
        //UIViewAutoresizingFlexibleRightMargin |
        //UIViewAutoresizingFlexibleTopMargin |
        UIViewAutoresizingFlexibleHeight
        //UIViewAutoresizingFlexibleBottomMargin
    ;
    self.contentView.translatesAutoresizingMaskIntoConstraints = YES;
}


 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved