簡體   English   中英

Xcode 多個故事板

[英]Xcode multiple Storyboards

目前我有一個 iOS 項目,它有一個有很多視圖的 Storyboard。 問題是加載項目花費的時間太長。 有什么辦法可以將我的項目分成多個故事板? 我將如何連接故事板(從一個故事板的視圖到另一個故事板的視圖)?

謝謝

是的,您可以在一個項目中使用多個故事板,假設您有 ABC.Storyboard 和 XYZ.Storyboard,現在您想從 ABC.Storyboard viewcontroller 加載 XYZ.Storyboard viewcontroller -

目標c

UIStoryboard *sbXYZ = [UIStoryboard storyboardWithName:@"XYZ" bundle:nil];
UIViewController *vc = [sbXYZ instantiateViewControllerWithIdentifier:@"myViewController"];
vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:vc animated:YES completion:NULL];

迅速

let sbXYZ = UIStoryboard(name: "XYZ", bundle: nil)
let vc = sbXYZ.instantiateViewControllerWithIdentifier("myViewController") as! UIViewController
self.presentViewController(vc, animated: true, completion: nil)

在 Xcode 7 中,您現在可以在故事板之間進行鏈接。 這是Apple 文檔的鏈接。

或搜索添加對另一個故事板的引用

這說

  1. 打開故事板以包含界面構建器中的引用。

  2. 打開工作區窗口的實用程序區域

  3. 從實用程序區域選擇對象庫

  4. 將 Storyboard Reference 對象從庫中拖到畫布上

  5. 配置故事板參考的屬性。

故事板引用具有三個屬性:

Storyboard 是引用的 .storyboard 文件的名稱。 引用 ID 是引用場景的故事板 ID。 Bundle 是包含引用的故事板的包。

你不會簡單地通過拆分故事板來解決這個問題,因為 Xcode 仍然需要壓縮二進制文件並加載它。

我建議這樣做:

1) 簡化您的編碼,以便任何不必要的編碼都不會拖延加載時間

如果您的代碼正確

2)很可能您導入的圖像沒有正確壓縮。 在不影響質量的情況下,盡量減少它們的大小。 這很可能就是為什么一切都需要這么長時間才能加載。

谷歌“如何管理 Xcode 的圖像”

是的,你可以有多個故事板我目前有這個代碼,希望這對你有幫助..這是針對目標C..快速的,它已經由@SantuC在上面發布..如何配置和支持不同的方向取決於你..

- (UIStoryboard *)activeStoryBoard
{
        BOOL isIPhone5 = ([[UIScreen mainScreen] bounds].size.height == 568);

        BOOL isIPhone = ([[UIDevice currentDevice] userInterfaceIdiom]   == UIUserInterfaceIdiomPhone);

        BOOL isIPad = ([[UIDevice currentDevice] userInterfaceIdiom]   == UIUserInterfaceIdiomPad);

        UIStoryboard *storyboard;

        if (isIPhone) {
            storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone-3.5in" bundle:nil];
        }

        if (isIPhone5) {
            storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone-4in" bundle:nil];
        }

        if (isIPad) {
            storyboard = [UIStoryboard storyboardWithName:@"Main_iPad" bundle:nil];
        }

        return storyboard;
    }

希望我能幫助你,快樂編碼..干杯!

如果加載時間真的太長,請在此處提出建議。 從我的角度來看,這將是一個失敗的項目。 如果用於組織,您可以將其拆分為單個 xib 文件。 但是,這與您使用多個故事板的加載時間相同。

解決這個問題的唯一方法是以編程方式編碼。

暫無
暫無

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

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