UITableViewController dışındaki statik tablo görünümü


159

Yeni Xcode güncellemesinden sonra, uygulamam doğrulamıyor ve bu hatayı gösteriyor:

statik tablo görünümleri yalnızca UITableViewController örneklerine katıştırıldığında geçerlidir

Kolayca çözme şansınız var mı?


Neden UITableViewController yerine bir UIViewController alt sınıfı kullandığınıza bağlıdır.
David Berry

3
Çünkü görünüm içinde UITableViewController'a ait olmayan başka öğelere ihtiyacım var
Francesco S

1
Aynı sorunu burada yaşıyoruz. Sadece Xcode 5.1'e yükseltildi (ya da göründüğü gibi indirildi) ve aynı sorun var. Benim UISplitViewController içinde bir UITableViewController alt sınıf statik hücreler bir demet var.
Stefan Arambasich

Yükseltmeden sonra benim için de olmaya başladı. Statik hücrelerle yapılmış bazı görünüm denetleyicileri var, ideal değil ama daha önce iyi çalışıyordu.
jdmunro

UITableViewController kullanmanıza gerek yoktur. UiTableView'da Statik tablo görünümü hücreleri varsa bu hatayı alıyorsunuz, bu yüzden hücrelere ihtiyacınız varsa kolay bir çözüm olduğunu düşünüyorum, statik bırakmayın. Sadece tableview delegesi ve veri kaynağı ve kukla UITableViewDelegate yöntemleri ekleyin
EarlySun

Yanıtlar:


341

Aynı ekrandaki diğer denetimlerle birlikte statik bir UITableView almanın tek yolu bir Kapsayıcı Görünümü kullanmaktır. Bu yolu takip edin, mükemmel çalışıyor:

  1. Bir ViewController'ı film şeridinize sürükleyin.
  2. Bir TableViewController'ı film şeridinize sürükleyin.
  3. Sonraki Bir Kapsayıcı görünümünü ViewController'ınıza sürükleyin ve istediğiniz boyutta (görünümden daha küçük) boyutlandırın -> kap görünümünü sürüklediğinizde bir segue ve başka bir görünüm oluşturur. Segue ve görünümü kaldırın.
  4. Son olarak, konteynerinize ctrl tıklayın ve yeni TableViewContoller'a sürükleyin. Yerleştir'i seçin.
  5. TableView'inizi istediğiniz gibi şekillendirin -> statik hücreler dahil.

İyi şanslar.

Bu cevap zaten bulundu ve burada verildi: G.Huebner -> http://web.archive.org/web/20140928102504/http://iphonedevsdk.com/forum/iphone-sdk-development/111800-static-table- view-hücreleri yalnızca-iş-in-a-uitableviewcontroller.html


Nerede çıkış veya işlem yapılır? İçeri UIViewControllergirmeli ya da almalıyım UITableViewController.
Bhavin Ramani

@Bhavin Ramani: Kaptaki bir UITableViewController olduğundan IBOutlet'larınızı tutmak için tam olarak bu sınıfı / alt sınıfı almanızı öneririm.
LukeSideWalker

2
Tüm "statik hücreler" fikrinin bazı iç işlevlerine bağlı bir şekilde uygulandığını tahmin ediyorum UITableViewController.
Nicolas Miari

2
Bunun için teşekkür ederim. Xcode 8.3.1'de çalıştığını doğrulayabilir.
Atharva Vaidya

Sadece müthiş! Bir süredir bu çözümü arıyordum.
Jason Foglia

8

Statik bir UITableView, bir UITableViewController içinde olmalıdır. Böylece tabloyu UITableViewController'a yerleştirip MainViewController öğesine childView olarak ekleyeceksiniz.

Https://iphoneidoit.blogspot.in/2013/10/static-uitableview-in-uiviewcontroller.html adresine başvurabilirsiniz.


1
Daha önce bunun etrafında birçok yol vardı, (hücrenin tutulması gibi), ama şimdi ne olursa olsun bir hata. Sorunun, hatayı bastırmanın bir yolu olup olmadığını önerdiğini düşünüyorum.
Matthew Knippen

Evet öyleydi. Ne yazık ki, statik olmayan bir tablo kullanarak sorunu çözdüm
Francesco S

1
Amanın. IBOutletGörünüm denetleyici dosyamdaki tüm s'ler nedeniyle statik değil dönüştürmek için gereken yeniden çalışma miktarı çok fazla ve IMO, değişiklik günlüğünde bunu herhangi bir uyarı veya not olmadan bir güncellemenin kırması kabul edilemez ( ergo UITableViewControllerİçinde statik hücreler olan bir kağıt üzerinde hala geçerli olduğunu varsayarım.Apple UISplitViewContollergeliştirici desteğiyle iletişime geçtim ve sadece beni forumlara bağlayan genel olarak çok yararlı olmayan bir e-posta yanıtı aldım. eğer güncelleme sonrasında başka biri de aynı sorunları yaşıyorsa
Stefan Arambasich

4

Ne yaptığınızı ilk önce storyboard üzerinde ViewController sürükleyin ve sonra ViewController üzerinde tableView sürüklemek olduğunu düşünüyorum. Bu şekilde Statik tablo hücrelerini kullanamazsınız. Bunun yerine yapmanız gereken şey, ViewController yerine ana film şeridinde TableViewController'ı sürükleyip statik hücreleri seçmektir. Bu şekilde statik hücreler üzerinde çalışabilir ve statik hücrelerdeki herhangi bir öğeyi kullanabilirsiniz.


0

Gerçekten statik bir tableView kullanıyorsanız, bir ScrollView veya StackView için her şeyi kopyala / geçmeyi düşünmelisiniz.

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.