2009-12-04 15 views
9

selectRowAtIndexPath:animated:scrollPosition: numaralı numaralı telefonu aramak için numaralı telefonu arayın. UITableView numaralı telefondan bir satır seçin. Tablo görünümü denetleyicisi başlatıldığında, tablo verileri yüklenmedi, bu yüzden benim UITableViewController başlatıldıktan hemen sonra seçim yapamıyorum (Fazladan özel durum aksi takdirde ortaya çıkar).Başlangıçta bir satır seçmek için UITableView

cevap

6

viewWillAppear: görüntülemeden önce bir görünümün durumunu, daha önce görüntülenmiş olsa bile, her görüntülendiğinde görüntülemeniz gerekir. Bir UITabViewController veya UINavigationViewController'daki görünmeyen herhangi bir görünüm herhangi bir zamanda kaldırılabilir, böylece durumunu korumak için görünmez bir görünüme güvenemezsiniz. Ya da daha ince denetim için loadView, viewDidLoad ve viewDidUnload'u uygulayın. Kendi hiyerarşisi denetleyicilerinizi sürdürüyorsanız, alt görünüm denetleyicilerinize viewWillAppear, viewWillDisappear, vb. Iletilerini el ile iletmeniz gerekecektir.

3

viewWillAppear:animated veya viewDidAppear:animated numaralı telefonu deneyin ve aşırı yüklediğinizden emin olun.

selectRowAtIndexPath:indexPath animated:NO numaralı telefonu da aradığınızdan emin olun, zaman gecikmesi olmadan seçecektir.

+1

Bunları zaten denedim. Ama ne yazık ki, UITableView'i başka bir görünümün alt görünümü olarak manuel olarak eklemem gerekiyor, bu yüzden görüntü denetleyicinin viewWillAppear: hedeflenen veya viewDidAppear: animasyonlu çağrılmayacaktı. Ayrıca, her zaman görünümünü seçtiğinizde "ilk seçim" den daha fazladır ve bu görünümün ilk olup olmadığını belirlemek için fazladan bir işarete ihtiyaç vardır. – an0

2

uitableview'in cellforrowatindexpath yönteminde seçilen herhangi bir hücreyi ayarlayabilirsiniz. Cell.selected = YES;