Tôi đang cố gắng mở rộng ô xem bảng khi khai thác. Sau đó, khi nó được khai thác một lần nữa, tôi muốn nó quay trở lại trạng thái ban đầu của nó.Mở rộng và hợp đồng ô xem bảng khi khai thác, nhanh chóng
Nếu cellA được mở rộng và cellB được khai thác, tôi muốn cellA hợp đồng và cellB mở rộng cùng một lúc. Vì vậy, chỉ có một ô có thể ở trạng thái mở rộng của nó trong bất kỳ thời điểm nào.
mã hiện tại của tôi:
class MasterViewController: UITableViewController {
var isCellTapped = false
var currentRow = -1
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
selectedRowIndex = indexPath
tableView.beginUpdates()
tableView.endUpdates()
}
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row == selectedRowIndex.row {
if isCellTapped == false {
isCellTapped = true
return 140
} else if isCellTapped == true {
isCellTapped = false
return 70
}
}
return 70
}
mã hiện tại hoạt động tốt khi:
- Bạn gõ liên tiếp (nó mở rộng)
- Bạn khai thác nó một lần nữa (nó hợp đồng)
Không thành công khi:
- Bạn gõ liên tiếp (nó mở rộng)
- Bạn gõ một hàng (hợp đồng đó, nhưng hàng khác không mở rộng)
Làm thế nào tôi có thể giải quyết này?
Những gì bạn đang cố gắng đạt được? Một menu accordion (trình đơn thả xuống) sử dụng một 'UITableView'? –
Có @VictorSigler, một cái gì đó như thế. Bạn có nghĩ rằng trong có thể được thực hiện bằng cách sử dụng UITableView? Hoặc có bất kỳ lớp nào khác phù hợp hơn với nhiệm vụ không? –
Có, bạn có thể @Diego xem câu trả lời của tôi. –