2015-10-17 24 views
33

Çok basit bir tic tac-toe oyunu oluşturmaya başladım. Temel amaç, görünümü tüm iOS cihazlarının tüm ekran boyutları ile orantılı yapmaktır. Bu yüzden görüntüyü bir ViewController'a koyup ekranın tam boyutuna getirdim ve ardından Yığın Görünümü'ne koydum. Bu Yığın Görünümü 0'a tüm taraflara kısıtlamalar ekledim. Simülatörü çalıştırdığımda her şey iyi görünüyor. Ancak konsol panelinde bir mesaj alıyorum. Bu ne demek? Bu ne yaptığını benziyorMülkün özelliklerini değiştirme Yalnızca dönüştürülebilir katmandalık olması, hiç bir etkisi olmayacak

screenshot

+0

aynı konu burada – Devapploper

+0

kodunuzu belirtin :) – Mohamad

+0

kod henüz yok. Ana Hikaye Panosundaki öğelerle boş bir projedir. İlk iletideki ekran görüntüsüne bakın –

cevap

77

Eğer StackView şekli niteliğini değiştirdi çünkü olabilirdi: Ben Aspect Fit Mod ayarladığınızda

enter image description here

Ben bu uyarıyı aldık.

+3

olur. Modu tekrar Ölçeğe Getir olarak ayarlıyorum ve uyarı gitti. Teşekkürler. – NeoHQ

+11

** Bunu nasıl anladınız? ** Uyarı, sorunun neden olduğuna dair herhangi bir gösterge göstermiyor. Ancak bu sorunu aldıktan sonra, yönteminiz sorunu çözdü. Bunu anlamak için yönteminizi hala merak ediyorum. –

+0

Sizi Selam Patron! – Sofeda

2

mükemmel doğrudur.

Ancak, neden görüntünüzü bir yığın görünümüne koymayı tercih ettiğinizi merak ediyorum. Büyük bir yığın hayranıyım ama heryerde mantıklı değiller. Yeni görünümler eklemeyi ve ticktactoe kartınızı yeniden boyutlandırmayı planlamadığınız sürece, onu kullanamam.

+0

Kuyu zaman zaman yığın görünümlerinde bir şeyler yapmak güzel olurdu çünkü kısıtlamaları endişelendirmeden ve/veya iki farklı oryantasyonu idare etmek için iki farklı sınıfa sahip olmak zorunda kalmadan yönelimi değiştirebilecektiniz – Massimo

+0

fuar noktası @Massimo Burada istendi –

+1

Bazen kendimi StackView kullanımı için görüşlerini sabitleme konusunda sorguya çekiyorum.StackView'ın birkaç nedenden dolayı daha iyi bir seçim olduğunu buldum: # 1 öğelerin eklenmesi veya çıkarılması hiçbir şeyi kırmayacak, # 2 müşteri (veya tasarımcı) işleri değiştirmeye devam etsin, meslektaşlarım (veya gelecekteki ben) # 1 olduğunda endişelenmenize gerek kalmaz 2 –

30

UIStackView'daki herhangi bir katman değişikliği, bu uyarıya neden olur. Uyarı noktaları UIStackView bir yalnızca dönüştürülebilir katman olduğundan ve UIView'dan biraz farklıdır. Belge başına:

UIStackView, UIView'nin ilerleyen bir alt sınıfıdır; Yani, , kendi kullanıcı arabirimini sağlamaz. Bunun yerine, düzenlenmiş görünümlerinin konumunu ve boyutunu yönetir. Sonuç olarak, bazı özelliklerinin (backgroundColor gibi) yığın görünümünde hiçbir etkisi yoktur. Benzer şekilde, layerClass, drawRect :, veya drawLayer: inContext: öğelerini geçersiz kılabilirsiniz. Bu here üzerinde

Daha.

OP sorununun tam kaynağını göstermeyebilir, ancak umarım, UIStackView davranışının neden aynı olmadığına ve UIView ile karıştırılmaması gerektiğine ışık tutacaktır.

+2

Bence bu kadarıyla en kesin cevap – allemattio

+0

Teşekkür @allemattio –

+1

Çok teşekkürler. Bir UIView SUBCLASS'ın neden doğru bir şekilde tepki vermediğini ve manipülasyonları katlayamadığını anlamaya çalışarak saçlarımı çektim ... Sanırım Apple bunu yığın görüntüleriyle ilgili olarak daha çok dokümanlar üzerinde vurgulamalıdır. – jaga