[英]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 文檔的鏈接。
或搜索添加對另一個故事板的引用
這說
打開故事板以包含界面構建器中的引用。
打開工作區窗口的實用程序區域
從實用程序區域選擇對象庫
將 Storyboard Reference 對象從庫中拖到畫布上
配置故事板參考的屬性。
故事板引用具有三個屬性:
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.