UİTapGestureRecognizer sonları didSelectRowAtİndexPath UİTableView
Kendi klavye geldiğinde metin alanları kaydırmak için yazdım. Uzak metin alanına dokunarak klavyeyi kapatmak için, step dansı yaparken metin üzerinde ilk yanıtlayıcı istifa ilgilenir UITapGestureRecognizer
bir alan oluşturduk.
Şimdi de metin alanının hemen altında UITableView
bir yaratan olay için bir otomatik tamamlama oluşturdum ve kullanıcı metin girerken öğeleri ile doldurur.
Otomatik tamamlanan girdiler birini seçerken ancak, Tablo, didSelectRowAtIndexPath
adlı değil. Bunun yerine, dokunun jest tanıyıcı " denilmesi gibi görünüyor ve sadece arkadaş istifa etti.
UITableView
için aşağı dokunun geçen tutmak için dokunun jest tanıyıcı mesajı söylemek için bir yol olduğunu tahmin ediyorum ama ne olduğunu çözemiyorum. Herhangi bir yardım çok mutluluk duyacağız.
CEVAP
Bu sorunu çözmenin en kolay yolu:
UITapGestureRecognizer *tapRec = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(tap:)];
[tapRec setCancelsTouchesInView:NO];
Bu UIGestureRecognizer
dokunun tanımak ve aynı zamanda bir sonraki yanıtlayan dokunmak geçiş sağlar. Bu yöntem, istenmeyen bir sonuç varsa UITableViewCell
ekran üzerinde başka bir görünüme iter bir kontrol var. Eğer kullanıcı satır klavyeyi kapatmak için musluklar, klavye ve bas de tanınır. Bu niyetin ne olduğunu sanmıyorum, ama bu yöntem, birçok durum için yeterli.
Ayrıca, genişleyen Robert cevabı, eğer bir işaretçi tableview soru, doğrudan karşılaştırmak sınıfının yerine dönüştürmek için bir dize ve umarım Apple değiştirmez isimlendirme:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldReceiveTouch:(UITouch *)touch
{
if([touch.view class] == tableview.class){
return //YES/NO
}
return //YES/NO
}
Unutmayın, aynı zamanda UIGestureRecognizer
Bu kod ile bir temsilci var bildirmeniz gerekir.
UİTableView didSelectRowAtİndexPath: d...
UİTableView için didSelectRowAtİndexPa...
Nasıl bir dize tüm Satır sonları kaldı...
yeniden boyutlandırma içeriği sığdırma...
Nasıl bir UİTableView sınırları kaldır...