iPhoneのネットワーク設定アプリのようにTableViewを作成するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1815729

  •  08-07-2019
  •  | 
  •  

質問

このようなテーブルビューを作成するにはどうすればよいですか?したがって、スイッチをオンにすると、2つのセルが追加されます。

すでに試しました

[tableView numberForRowsInSection:6];
[tableView reloadData];

しかし、これは期待通りに動作しません:(

アイデアはありますか

最良の方法は2つのセクションで、最初のセクションには5つのセルが含まれ、2番目のセクションにはスイッチがオフの1つのセルが含まれ、スイッチが変更された場合、2つのセルがセクション2に追加されます(アニメーションで追加されます:) )

mhh ..

事前に感謝します、私はすべての答えに非常に興奮しています:)

役に立ちましたか?

解決

この -numberForRowsInSection:メソッドをどこから引き出しましたか?私(およびドキュメント)が知る限り、それは存在せず、UITableViewのメソッドとして存在したことはありません。推測はあなたをどこにも連れて行かず、薄い空気から発明する方法をはるかに減らします。

おそらく、これを試みる前に、UITableViewの使用の基本をカバーするいくつかのチュートリアルを確認する必要があります。誰かがこれを行うためにあなたに完全なクラスを書くのに時間をかけて答えを出すとは思わない、そしてあなたが単にコードをコピー/ペーストしようとしないなら、長い目で見ればはるかに良くなるだろうあなたは理解していません。 UITableViewをカバーする多くのドキュメントと例がありますが、それはAppleから入手できるものを検討しているだけです。UITableViewは、頻繁に使用されるクラスで、Googleで" UITableView tutorial"ページと結果のページが表示されます。

ただし、必要な操作の概要を簡単に説明します。 1.もちろん、XcodeのUITableViewControllerテンプレートから始めて、要件に合わせてカスタマイズを開始できます。2つのセクション、ただしセクションごとに多くの行など、必要に応じていくつかのモデルレベルオブジェクトに基づいて決定します。

  1. tableView:cellForRowAtIndexPath:<で新しいセルオブジェクトを作成するときは、カスタムUITableViewCellサブクラスを作成するか、デフォルトのUITableViewCellレイアウトを(少なくともUISwitchサブビューを追加して)少しカスタマイズする必要があります。 / code>。

  2. UIcodeは、 -UIControl addTarget:action:forControlEvents:] を使用してスイッチの値が変更されたときにView Controllerにメッセージを送信するように構成する必要があります UIControlEventValueChanged イベント。

  3. このスイッチ値の変更に対するアクションメソッドの実装では、行を追加または減算するかどうかを決定し、実際に行を追加または減算するロジックを実装する必要があります。 beginUpdates / endUpdates insertRowsAtIndexPaths:withRowAnimation:および deleteRowsAtIndexPaths:withRowAnimation:を使用して、滑らかな行を作成できます。単に reloadData を呼び出すのではなく、アニメーションの動作。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top