簡體   English   中英

如何將 xib 文件視圖動態適配到 storyboard 視圖中?

[英]How can I dynamically fit a xib file view into a storyboard view?

我設置了一個帶有按鈕的簡單布局,當按下該按鈕時,會導致 storyboard 子視圖加載 xib 文件並將其視圖分配給 storyboard 子視圖。 問題是 xib 視圖導致 storyboard 子視圖“打破”其原始約束:

這是主要的 storyboard(左)和 xib 視圖(右):

主故事板 xib 視圖控制器

當我按下主 storyboard 上的按鈕時,會發生以下情況。

- (IBAction)btnShowView:(id)sender {
    
    xibViewController *xib_VC = [[xibViewController alloc] initWithNibName:nil bundle:nil];
    xib_VC.modalPresentationStyle = UIModalTransitionStyleCrossDissolve;
    
    //xib_VC.view.frame.size = self.myView.frame.size;
    
    UIView *view = xib_VC.view;
    
    [self.myView addSubview:view];
    
}

這是結果 - 您可以看到 xib 視圖已導致主 storyboard 子視圖到 go 超出其約束。

在此處輸入圖像描述

我猜測動態更改 storyboard 子視圖會覆蓋其原始視圖和約束? 在將 xib 視圖分配給 storyboard 子視圖之前,我是否必須再次以編程方式添加這些約束?

根據您的描述,您的意圖似乎是將新創建的視圖(xib_VC.view)放在 myView 的 position 中。

通過您提到的代碼,將 xib_VC.view 作為子視圖添加到 myview 中,它對它沒有任何約束或提供一個框架來view

設置xib_VC.view.frame.size將不起作用,這是 xib_VC 中的視圖框架。

如果您只需要視圖,那么您不必創建視圖 controller xib。 只需創建視圖 xib。

以下行沒有用,因為您沒有使用 controller。 xib_VC.modalPresentationStyle = UIModalTransitionStyleCrossDissolve;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM