SORU
22 Temmuz 2013, PAZARTESİ


Interface Builder: 6/7 için Deltaları UİView'Düzeni iOS ler nelerdir?

Ben sadece iOS 6/7 Delta emlak UİView bu yapılar düzeni altında bulunan fark etti.

Bu nedir ve neden bu Otomatik düzen eksik?

enter image description here

CEVAP
18 EYLÜL 2013, ÇARŞAMBA


Bu soruyu bir süre önce fark ettim, ama sadece NDA kaldırıldı, çünkü artık cevabımı gönderiyorum . not:

Neden Otomatik düzen için görünür değil mi?

Sizin de fark ettiğiniz gibi, iOS 7 yepyeni bir görünüm kazandırır. UI öğeleri görünümünü değiştirdi, ama aynı zamanda onların boyutları biraz (ya da genel olarak ölçüler). Bu arayüz tasarımı ve öncekilerden iOS 7 de biraz karın ağrısı karşılamak için yapabilirsiniz.

Apple'ın resmi Otomatik düzen bunu çözmek için; bu sizin için UI öğeleri dışarı atarken güçlük bir sürü almak gerekir. Bu özellikle eğer hala yardım gerekiyorsa kolay değil, bazen birleştiren, iş nedeniyle 5 iOS veya arayüzlerini Otomatik düzen uygulamak zor kılan bir şekilde yönetilir. Gibi, Apple işini eğer bu niş kategoriye girer eğer biraz daha kolaylaştırmak için bir yol sağladı gibi görünüyor, ve bu iOS 6/7 Deltalar çağırdılar.

Tamam o zaman, ne işe yarar?

Buna rağmen Interface Builder etiket ne olduğu biraz belirsiz 'Delta' bu bağlamda, kod içeriyordu .bu özellik karşılık gelen xib dosyası biraz daha açıktır:

<inset key="insetFor6xAndEarlier" minX="-50" minY="-100" maxX="-50" maxY="300"/>

insetFor6xAndEarlier açıkça bu ne yapar; kaçak ne zaman UI öğeleri için alternatif parçalar sağlayabilir Birleşik Devletleri anahtar adı 7 öncekilerden iOS. Örneğin şu yukarıdaki delta değişim tanımlar:

x: 50
y: 100
width: -100
height: 200

Değerlerin içinde saklı iken .xib alıntı değerlere karşılık doğrudan değil, onlar arasında bir ilişki vardır.

x: -minX
y: -minY
width: minX   maxX
height: minY   maxY

Aşağıdaki görüntüler bu görsel olarak değişiklik gösterir. Oldukça uç bir örnek, ama onun yetenek göstermek için. Sadece pratikte sadece birkaç piksel delta değişiklikler olması beklenir.

iOS7 View

iOS6 View

Değerleri için ters iOS 6 görünümü olduğunu fark edebilirsiniz; bu deltalar ile çalıştığını görünüm türü için göreceli olmasıdır. Eğer iOS 6, deltalar için düzenleme yapıyorsanız sırayla öğe doğru iOS 7 (yukarıdaki örneğin tersi) dönüştürmek için vardır.

Farklı stilleri görüntülemek için Interface Builder üzerinde çalışan olurdu OS temelli sunar şeklini değiştirebilirsiniz. Bu Dosya Müfettiş -^ içinde yer alıyor . Arayüz olarak Builder Belge (sağda çubuğunda 1 sekmesi),:

Interface Style Switch

Bu ise elle arayüzü benim kod beğenirsem var mı?

Doğrudan değil, ama kolayca kodunuz OS sürümü şartlı kontroller olması, ve buna göre doğru pozisyon/boyutu ayarlayarak aynı etkiyi elde edebilirsiniz. Delta yeteneği var Interface Builder çünkü orada olacağını basit bir yolu var koşullu konumlandırma zorunda kalmadan kod yapmak ve point Interface Builder için bir çok kod yoldan mümkün olduğunca UI.

Genel...

Apple Otomatik düzen kullanmanızı öneririz, çoğu yerde hayatınızı kolaylaştırıyor. Eğer işime yaramaz (nedenleri yukarıda), deltalar size esneklik için pozisyon UI öğeleri uygun şekilde esas geçerli OS Ölçümler gerek kalmadan el ile yeniden konumlandırmak kod içinde. İyi bir örnek, durum çubuğu olmaması için ayarlamak için, ama diğer kullanım örnekleri var.

Eğer sadece iOS7 ve üzeri için geliştirme yapıyorsanız doğal olarak,/bunu keşfetmek olmaz bu özellik bilmene gerek yok. Eğer iOS6 cihazlar iOS7 SDK ile inşa edildiğinde, uygulama, otomatik düzen olmadan çalışıyor olması gerekiyorsa, deltalar ihtiyacın var.

Yazma zamanda (21 Ağustos), bu özellik ile ilgili herhangi bir belge bulamadım, ne de herhangi bir WWDC malzeme bahseder. Bir oyun vardı ve biraz araştırma sonra, bunu keşfettim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • celebrateubuntu

    celebrateubu

    23 Mayıs 2011
  • colacas

    colacas

    29 EKİM 2006
  • MyTiredBones

    MyTiredBones

    2 Temmuz 2013