2016-04-18 19 views
8

pageViewController'un içinde bir tableView var ve hücreyi silme seçeneğini açmak için hücreyi kaydırırken jest yalnızca belirli koşullar altında tanınır çok hızlı ve agresif bir şekilde kaydırdı.Masaüstünde silmek için kaydırınSayfa içinde bulunan bir görünümüGörüntüleme

Bunun olup bittiğini düşünüyorum çünkü kaydırma hareketinin pageView veya tableView için mi olduğundan emin değil. Sil düğmesinin güzel bir düzgün gösterimini etkinleştirmek için kaydırma hareketinin nerede olduğunu belirlemek için bir yol var mı?

+0

Bir düzenleme düğmesi ekleyebilirsiniz. Daha sonra düzenleme modundayken sayfa denetleyicisi kaydırma hareketini devre dışı bırakabilirsiniz (delegeyi sıfırlayarak). – Maik639

cevap

3

Aynı problem vardı. İyi çalışan bir çözüm buldum.

Bunu, UIPageViewController ürününe ekleyin viewDidLoad func.

if let myView = view?.subviews.first as? UIScrollView { 
    myView.canCancelContentTouches = false 
} 

PageViewControllers hareketlerini işleyen bir otomatik oluşturulan subview sahiptir. Bu alt görüntülemelerin içerik rötuşlarını iptal etmesini engelleyebiliriz. Tablo görünümü, sayfa düğmesi olarak tablo görünümünün hareket gereksinimlerini karşılamayan oyukları yorumlamaya devam ederken, silme düğmesi için swipes yakalayabilecek. Sil düğmesi, "agresif" olarak tuttuğunuz veya kaydırdığınız veya kaydırdığınız durumlarda gösterilecektir.

+0

Ive bunu UIPageViewController viewDidLoad'ma ekledi, ne olur bazen tablodaki gösterileri silmek için tokatlamak gerekir, ama çoğu zaman sadece bir sonraki sayfaya ... – raklos

İlgili konular