2014-09-27 38 views
8

Xcode 5'te oluşturulan bir projem var. "Deployment Info" ayarları, Devices: Universal diyor, ancak ayrı iPhone ve iPad ayarlarına ve ilgili iPhone ve iPad storyboard'larına sahip.iPhone/iPad storyboard'larından evrensel storyboard'a nasıl geçiş yapılır

Şimdi Xcode 6'da aynı projesini geliştiriyorum ve iki storyboard yerine bir evrensel storyboard kullanmak istiyorum. Sadece iPhone film şeridinde çalıştım ve iPad'e dokunmadım. IPad storyboard'unu atlatmak ve mevcut iPhone storyboard'umu ana evrensel storyboard'um haline getirmek mümkün mü?

cevap

12

Aşağıdaki çözümü oluşturmak için this tutorial ve similar solution @ tharkay'a uyarladım. Main_iPad.storyboard

  • Sil Main_iPhone.storyboard
  • Main.storyboard Sizin, iPhone yerine iPad film şeridi kullanmak Main_iPad.storyboardMain.storyboard için yeniden adlandırın ve Main_iPhone.storyboard dosyayı silmek istiyorsanız
    • *** adlandırın. Daha sonra Dosya Denetçisine gitmeli ve hikaye tahtasına sağ tıklamalı, ardından “Kaynak Kodu Olarak Aç” ı seçmelisiniz. Bu tüm bu XML kodunu görüntüler. Genel ayarları altında, proje dosyasında

      targetRuntime="iOS.CocoaTouch" 
      
      • iPhone hem de iPad için Main.storyboard belirleyin:

        targetRuntime="iOS.CocoaTouch.iPad" 
        

        : dan "iOS.CocoaTouch"

      için "iOS.CocoaTouch.iPad" den targetRuntime değiştirin.Main.storyboard günü enter image description here

    • sağ taraftaki panelde Show the File inspector simgesini seçin.

      enter image description here

      bir Xcode 5 uyumluluk mesajla adlı kutu Use Size classes

    enter image description here

    • XCode isteyecektir edin, YES seçin.
    • Derle ve çalıştır.
    • Elbette, tüm görünümleriniz berbat olmalı ve otomatik düzeni yeniden yapmanız gerekecek.
  • 0

    Basit bir çözüm buldum ve benim için çalıştı.

    sizin MainStoryboard çoğaltın ve MainStoryboard_iPad dosyada File menüden MainStoryboard_iPad.storyboard olarak

    Şimdi Sağ tıklayın adlandırmak ve open as a source code tıklayın.

    Bir XML belgesi alırsınız. Şimdi XML dosyasında aşağıdaki gibi bazı değişiklikler yapın. targetRuntime="iOS.CocoaTouch" için

    Arama ve yine arayüz oluşturucu MainStoryboard_iPad dosyayı açmak "retina4"

    <simulatedScreenMetrics key="destination"/> 
    

    için <simulatedScreenMetrics key="destination" type="retina4"/> itibaren olduğu gibi = Türü kaldırın targetRuntime="iOS.CocoaTouch.iPad"

    değiştirmek. Yaşasın ... iPad sürüm storyboard'unuzu alacaksınız. Artık sadece Layout'unuza göre genişliği ve yüksekliği değiştirmeniz gerekiyor.

    Bu bana çok yardımcı oldu ve çok zaman kazandı.

    :) Eminim size yardımcı olacaktır!

    +1

    Cevabınız için teşekkür ederiz. İki film şeridinden ziyade iphone storyboard'unu bir * tek * evrensel storyboard'a dönüştürmenin bir yolunu arıyordum. – rmp251

    +0

    Bir çözüm buldunuz mu? – DogEatDog

    +0

    @DogEatDog - Evet, bu bana çok yardımcı oldu ve 1-2 günümü kurtardı. :) Kendiniz deneyebilirsiniz. – DevdDexter

    1

    xCode 9'da, useTraitCollections="YES" özelliğini belge etiketine eklemek zorunda kaldım (targetRuntime="iOS.CocoaTouch"'un bulunduğu yer).