別のViewControllerを表示するtableViewデータがない場合、どのようにアプリケーションを構築しますか?tableviewデータが空の場合、別のviewcontrollerを表示する方法
ウェブでは、テーブルビューにデータがないのに別のビューを表示する必要がある場合にメッセージを表示する方法を示します。そのビューコントローラ(PlaceholderVC)にはイメージとラベル(404のスタイルの付いたページなど)があります。
基本的に、最初の画面(初期)では、ユーザーがtableViewに移動するためのボタンをタップします。ナビゲーションバーでは、項目を使用して新しい表セル(データ)を作成できます。あなたがtableViewコントローラ(FeedVC)に移動しない限り、そのアイテムを作成する他の方法はありません。私はこれが正しく働くように奮闘しています。私が実装したのは多くのバグがあります:
//FeedVC
let data = []
viewDidLoad() {
[...]
}
numberOfRowsInSection {
if data.count == 0 {
showPlaceholderVC()
} else {
return data.count
}
}
func showPlaceholderVC() {
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let pc: PlaceholderVC = storyboard.instantiateViewController(withIdentifier: "placeholderVC") as! PlaceholderVC
self.showDetailViewController(pc, sender: Any?.self)
}
それは私にPlaceholderVC
にかかります。そのPlaceholderVC
もpresent
VCは新しいテーブルセルを作成することができます。私がセーブを押すと、それは却下され、PlaceholderVC
に戻ります。私はpresent
FeedVC
に保存機能を変更することができますが、私は用量がdismiss()
になるはずです。 data > 0
と私が新しいデータを作成した場合、そのfuncを保存してもまだ存在します。何が起こっているのを見ますか?保存するといくつかのコードが実行され、終了します。私はより多くのレイヤーにレイヤーを追加したくないです。
隠し画像を追加してtableViewにラベルを付けることができれば、クリーンなコードを作成できます。それは可能ですか?私は、tableView上の画像ビューをドラッグすると、それは縮小します。
私はこれをすべて動作させることができますが、あまりにも多くの "ifs"は多くの "プレゼント"を持つすべてのVCです。
、あなただけ正しく制約を設定してのUITableViewController – Paulw11
は私がそれを試してみましょうあなたはのUIViewControllerを使用していることを確認していないようにする必要があり:それはのようにすることができます。 – Sylar
@ Paulw11私はあなたのアプローチを使用すると思います。私は代わりにビューを使用して、私のtableviewの下に配置しました(自動レイアウトはここで動作します)。コントローラーで: 'data == 0、view.isHidden = true/false'それは私のために最適です。ありがとう。 – Sylar