-4
私はこのアイデアが本当に好きなので、私がここに添付した写真と似た外観を持つアプリを開発しようとしています。項目を選択した後SWIFT 3:ドロップダウンリスト/クリップ付きリスト
は、それがドロップダウンし、クリップが
これを実装する方法上の任意のアイデアを再生を開始しますか?私はテーブルやリストを扱うことができますが、実際にこのようなものを実装する方法はわかりません。
私はこのアイデアが本当に好きなので、私がここに添付した写真と似た外観を持つアプリを開発しようとしています。項目を選択した後SWIFT 3:ドロップダウンリスト/クリップ付きリスト
は、それがドロップダウンし、クリップが
これを実装する方法上の任意のアイデアを再生を開始しますか?私はテーブルやリストを扱うことができますが、実際にこのようなものを実装する方法はわかりません。
あなたは
がindexPath = NSIndexPath(forRow:YourSelectedRow、inSection:0)とする複数の方法でこれを達成することができます
tableView.insertRowsAtIndexPaths(indexPath, withRowAnimation: .none)
insert a different row here which will be tricky to manage.
はすべて、このヘッダを作成し、そして選択したセクションの下に1つのセルのみを作成します。
var selectedSection = -1
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
{
let view = UIView(frame: CGRect(x: 0, y: 0, width: 320, height: 50)
let button = UIButton(frame: view.frame)
button.tag = section
button.addTarget(self, action: #selector(selectExercise(_:), forControlEvents: UIControlEvents.TouchUpInside)
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int
{
return 5
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
if section == selectedSection
{
return 1
}
else
{
return 0
}
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCellWithIdentifier(“YourDetailCell”, forIndexPath: indexPath) as! YourDetailCell
return cell
}
fun selectExercise(sender:UIButton)
{
selectedSection = sender.tag
}
私はオプション2が「最も正しい」である、それはだ道によると言うでしょう、二つのセルを作成し、
var selectedRow = -1
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
if selectedRow == -1
{
selectedRow = indexPath.row
tblConfirmedServices.reloadRowsAtIndexPaths([indexPath], withRowAnimation: .Bottom)
}
else
{
selectedRow = - 1
tblConfirmedServices.reloadRowsAtIndexPaths([indexPathPre], withRowAnimation: .Top)
}
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
if selectedRow = indexPath.row
{
let cell = tableView.dequeueReusableCellWithIdentifier(“YourDetailCell”, forIndexPath: indexPath) as! YourDetailCell
return cell
}
else
{
let cell = tableView.dequeueReusableCellWithIdentifier(“YourCell”, forIndexPath: indexPath) as! YourCell
return cell
}
}
個人的にアニメーションで全セル部とその特定のセルを変更* *働くことになっています。 –
ありがとうございます!私はこれを試してみよう! – FreddyGump