2015-05-25 4 views
1

В настоящее время у меня есть проект iOS, который имеет один раскадровки с большим количеством просмотров. Проблема в том, что загрузка проекта занимает слишком много времени. Есть ли способ разделить мой проект на несколько раскадровки? Как подключить раскадровки (получение с одного раскадровки на другой раскадровки)?XCode несколько раскадровки

благодарит

+0

Да, вы можете разделить раскадровку на несколько раскадровки коротких размеров. Вот полезная ссылка: http://www.newventuresoftware.com/blog/organizing-xcode-projects-using-multiple-storyboards/ –

+0

Да, вы можете разделить viewcontroller в разных раскадровках - [Работа с несколькими раскадными версиями] (http: //www.smikeapps.com/working-with-multiple-storyboards/) –

ответ

1

Вы не решите проблему, просто разделив раскадровку, потому что Xcode все еще должен сжать двоичные и загрузить его.

Я предложил бы делать либо:

1) упростить кодирование таким образом, что любое само кодирование не докучать время загрузки вниз

Если ваш код пятно на

2) это наиболее вероятно, ваши импортированные изображения не будут правильно сжаты. Постарайтесь уменьшить их размер настолько, насколько сможете, без ущерба для качества. Это, скорее всего, почему все так долго загружается.

Google «как управлять изображениями для Xcode»

+0

Думаю, он говорит о загрузке «проекта», а не двоичного или приложения. – iphondroid

+0

Да, простите, я имел в виду загрузку проекта –

1

Да, Вы можете использовать несколько раскадровку в проекте, Предположим, у вас есть ABC.Storyboard и XYZ.Storyboard и теперь вы хотите загрузить XYZ.Storyboard ViewController от ABC .Storyboard ViewController -

Objective C

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

Swift

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

Не могли бы вы перевести код на Swift? Я не знаю никаких знаний в Objective C:/ –

+0

Пожалуйста, проверьте выше для быстрого кода версии –

+0

Я пробовал, но все равно это не работает. Есть ли что-нибудь, что я должен создать или настроить для другой раскадровки? В настоящее время я создал новую раскадровку и новый соответствующий контроллер ViewController1, но XCode не может найти его при запуске. –

1

Да, вы можете иметь несколько раскадровок настоящее время у меня этот код, надеюсь, это поможет вам .. Это для объективной 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; 
    } 

Надеюсь, я помогу вам, счастливое кодирование ... Приветствия!

1

Просто предложите что-нибудь здесь, если на самом деле слишком долго загружаться. Это будет неудачный проект с моей точки зрения. Если для организации, вы можете разделить его на один файл xib. Тем не менее, это будет то же самое время загрузки, как вы используете несколько раскадровки.

Единственный способ решить эту проблему - программно программировать.

1

В Xcode 7 теперь вы можете установить связь между раскадровки. Вот ссылка на Apple, док xcdoc: // URL = developer.apple.com/библиотека/и т.д./перенаправление/Xcode/Devtools/1055/рецепты/xcode_help-IB_storyboard/Chapters/AddSBReference.html

Или искать Добавление ссылки на другую раскадровки

Это говорит

  1. Открыть раскадровка содержит ссылку на интерфейс строитель.

  2. Открыть область утилиты для окна рабочего пространства

  3. Выберите библиотеку объектов из области коммунального

  4. Перетащите Раскадровка эталонного объекта из библиотеки на холст

  5. Настройка атрибутов справочной системы.

Ссылка раскадровка имеет три атрибута:

раскадровка имя ссылочного .storyboard файла. Ссылочный идентификатор - это идентификатор раскадровки ссылочной сцены. Bundle - это набор, содержащий ссылочную раскладку.

+0

Спасибо kleopatra, ответьте обновлен. – iCyberPaul

+0

спасибо за заботу :-) – kleopatra

Смежные вопросы