Xcode 8 Swift 3'te "Gezinme çubuğu" için uyarı çerçevesi çalışma zamanında farklı olacaktır


143

Yükseltmeden önce Xcode 8bu hatayı bu durumda görmedim. Farklı Navigasyon Denetleyicilerim var. Hepsi için bir hata görüyorum Frame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375. Gerçekte bu Gezinti Denetleyicileri yoktur Navigation bar. Navigation baralt görünümler için var. Neyse kene tarafından çözmek ve onay işaretini kaldırın olabilir Shows navigation barde Attributes inspector. Ancak ne yazık ki her açışımda Main.storyboardbu uyarı tekrar görünüyor. Ayrıca sarı üçgeni tıklarsam ve sonra güncelleme çerçevelerinde hiçbir şey olmaz.

resim açıklamasını buraya girin


1
Burada da aynı sorun doğrulandı. Önerilen çözümlerin hiçbiri sorunu çözmez.
GregP

@GregP lütfen çözümümü kontrol edin ve yanıtlayın
KSR

@Ashish Kakkad lütfen benim çözüm kontrol ve cevap
KSR

Dosyalanmış rdar: // 28844288. Dupe openradar.me/radar?id=4985464104681472
Guillaume

Bu, projemi güncelledikten sonra beni rahatsız eden son uyarım.
Sethmr

Yanıtlar:


154

"Simüle Edilen Boyut" özelliğini "Serbest Biçimli" olarak değiştirirseniz uyarı kaybolacaktır.


37
Bu sorunu çözmez. Xcode'u kapatın ve tekrar açın, sorun tekrar gelecektir.
Ashish Kakkad

2
Bu beni cehenneme çeviriyor .. Bunu denedim ve bu geçici olarak uyarıyı kaldırıyor . Uyarıyı geri döndüğünde kaldırmak için Simüle Edilen Boyutu her zaman ileri ve geri değiştirebilirsiniz. Süper. Can sıkıcı.
nekonari

5
Sadece geçici bir düzeltme - bu cevap değil.
emem

5
Ya bu Simüle Edilmiş Boyutu (ve tekrar 'Çıkarılan' ya da her neyse) değiştirin ya da "Kaydırma Görünümü Ek Ayarlarını Aç / Kapat" arasında geçiş yapın . Her ikisi de Storyboard'un kaldırılmasına neden olur misplaced="YES". Bu bir Xcode hatası ve bu düzeltme bir zorla yenileme türüdür. @Buildsucceeded yanıtından alındı.
bauerMusic

1
@MobileBloke Zorla yenileme ile, Storyboard görünümünün parametreleri yeniden yazmasına (yenilemesine), uyarıyı yeniden değerlendirmesine ve kaldırmasına neden olacağı anlamına geliyordu. Bu gerçekten bir yenileme, kuvvet sadece kendi başına otomatik olarak yapmadığı anlamına geliyordu (olması gerektiği gibi) ve bazı manuel keyfi değişikliklere ihtiyaç duyuyordu.
17:51

35

Belirtildiği gibi burada size açık / kapalı Scrollview Insets ayarlayın geçiş yaparak bu sorunu giderebilirsiniz.


4
Vay canına, ve (git kontrol) kelimenin tam anlamıyla bunu yaptığınızda olan her misplaced="YES"şey kaldırılır. : /
builds13

7
Bu, projeyi bir sonraki kapanışınıza kadar yeniden düzeltir ve yeniden açar. Tam bir düzeltme değil.
Casey Wagner

15

Görünümü şu şekilde değiştirdim: iPhone 6S, iPhone 5S'ye, ardından iPhone 6S'ye döndüm ve Xcode, uyarıyı kaldırmak için tüm değişiklikleri yaptı.


2
Bu kısa bir süre çalıştı - daha sonra Xcode tekrar işleme koyulduktan sonra - aynı şey oldu ve uyarı yeniden ortaya çıktı. Bu hala en son Xcode üzerinde çalışıyor mu?
UKDataGeek

12

Bu benim için Xcode 8.3.1'de çalıştı. Xcode'u yeniden başlattıktan sonra yine de işe yarayacaktı.

resim açıklamasını buraya girin

  1. Gezinti Denetleyicisini Seçin

resim açıklamasını buraya girin

  1. Boyut Müfettişini Göster

resim açıklamasını buraya girin

  1. Simüle Edilen Boyutu Serbest Biçime Değiştir

resim açıklamasını buraya girin

  1. Benzetilen Boyutu Sabit olarak değiştir

resim açıklamasını buraya girin

  1. Sonra uyarılar kaybolur.

resim açıklamasını buraya girin


Bunun neden "Çerçeveleri güncelle" düğmesi değil, işe yarayacağına dair bir fikrin var mı?
Manganez

@ guoc, lütfen bana yardım edebilir misin stackoverflow.com/questions/46375778/… ?
Phyu Mayıs

7

Sadece sinir bozucu uyarı kurtulmak için bir geçici çözüm olarak Main.storyboard elle 'yanlış yerleştirilmiş' kaldırarak düzenliyoruz:

<navigationBar key="navigationBar" opaque="NO" contentMode="scaleToFill" misplaced="YES" translucent="NO" id="Os1-Xh-7XN">

Kesmek ama 1 yerine sıfır uyarı olması güzel :)


Bunu daha sonra tekrar eklemem gerekecek mi? Uyarılarım olmadığı sürece navigasyon denetleyicimin neye benzediğini umursamıyorum. Bu biraz komik. Film şeridi, bir an için uyarıyı tanır ve film şeridine bu şekilde girdiğinizde kaybolur.
Sethmr

Aynı şeyi yaptım ve sonra film şeridine tekrar dokunma. Her şey iyi çalışıyor.
Zhao

Sorun, yeniden yüklediğinizde geri geliyor ... başkası bu hata meydana geldiğinde spinner çalışan ile storyboard yüklemenin uzun zaman aldığını fark?
UKDataGeek

6

Film şeridinizin sol alt tarafındaki "Farklı Görüntüle" yi tıklayın ve farklı bir cihaz boyutu seçin, ardından tekrar tıklayın ve başladığınız cihaz boyutuna geri dönün. Bu benim için çalıştı.


1
o da sadece benim için sabitleme sıcaklığı
zero3nna

3

Xcode 8 yamalanana kadar, uyarıyı ortadan kaldırmak için "Farklı görüntüle:" seçeneğini "iPhone SE" olarak ayarlayabilirsiniz. İdeal değil, ama şimdilik çalışıyor.


SE KULLANıyorum .. ama yine de Uyarı
Abdul Waheed

1
Evet biliyorum. Ama bu seçimi başka bir şeye çevirdiğinizde ortadan kayboluyorlar. Bugünlerde 7 ile başlıyorum, SE'ye geçiyorum, sonra bu uyarıları silmek için 7'ye geri dönüyorum. Ya da sadece onları bırakın ve misplaceddeğişiklikleri gerçekleştirirken özellikleri kontrol etmeyin .
nekonari

3

Yukarıdaki tüm önerileri denedim ama işe yaramadı. Bence bu daha ciddi bir hata olabilir.

Apple Bug Reporter ile bir hata kaydettim (link: https://bugreport.apple.com/logon ) - aynısını yapmak istiyorsanız, lütfen hataya bakın: 31355220böylece Apple birbirine bağlayabilir. Ne kadar çok kişi rapor verirse - bu rahatsızlığı düzeltmek için o kadar fazla bilgi sahibi olacaklar.


2

Görünüm denetleyicisinin simüle boyutunu serbest biçime ayarlayıp ardından genişliği 375'ten 320'ye ayarlayarak sorundan tamamen kurtuldum.


Sadece ebeveynleri olmayan görünüm denetleyicileri üzerinde ayarlamanız gerekir (film şeridinde ne olduğuna bağlı olarak kök görünüm denetleyicisi + belki daha fazla)
thetrutz

1

Aynı sorun vardı, düzeltmek için yaptım:

Hata bilgisini genişletin ve uyarı detayını tıklayın. Xcode daha sonra boyut / konum ayarlarını otomatik olarak açmalıdır. Geçerli değeri, uyarı ayrıntılarında önerilen değerle değiştirin.

resim açıklamasını buraya girin

Temel olarak, çalışma zamanınızdaki boyutun boyut denetçisinde belirttiğiniz boyutla aynı olduğundan emin olun.

Ayrıca, yayınladığınız görüntünün yanındaki simgeyi de tıklayabilirsiniz (beyaz daire içeren sarı üçgen. Bazen kırmızı daire simgesi), sorunları otomatik olarak düzeltmek / ayarlamak için seçenekler olacaktır.

resim açıklamasını buraya girin

Güncelleme kısıtlamaları seçeneğini seçtim ve yeni kısıtlamaları buna göre ayarladım.


4
Bu durumda çalışmaz. Gezinme Çubuğu için X / Y / Genişlik / Yükseklik alanlarının tümü gri renklidir / düzenlenemez.
Slipp D.Thomp

@Ian Hmmm… Sanırım rakamları eşleştirmek için xib'i düzenledim.
Slipp D. Thompson

1

benim için sorun ben itme alt çubuğu (IB onay kutusunu kullanarak) gizleme oldu.

'alt çubuk' seçeneğinde 'hiçbiri' seçmek zorunda kaldı:

resim açıklamasını buraya girin


0

Tamam, sorunu düzelttim gibi görünüyor. İşte yaptığım şey.

Güncelleme çerçevelerini normal gibi seçin. Farklı bir dosya açın ve film şeridi dosyasına tekrar tıklayın. Bu işe yaramazsa Xcode'u yeniden başlatın. Dahili olarak güncelleniyor gibi görünüyor, ancak arayüz oluşturucu UI bazen alırken sıkışmıştı.


3
XCode'u yeniden açtıktan sonra bu uyarı gerçekten kaybolur, ancak projede herhangi bir dosyayı main.storyboard
Danny

0

Lütfen cihazınızı Görünüm denetleyicisi için xcode'da önizleme olarak değiştirin ve uyarıları derleyip kontrol edin ...

Xcode 8 biraz buggy, Arayüz oluşturucu, içerdiği tüm görünümleri etkileyen rastgele no ile sıfırlanır. Önizleme cihazınızı değiştirmeyi deneyin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.