1. 程式人生 > >iOS解決UICollectionView下巢狀UITableView多個列表時側滑返回失效及cell側滑刪除失效的問題

iOS解決UICollectionView下巢狀UITableView多個列表時側滑返回失效及cell側滑刪除失效的問題

解決問題:
UICollectionView下巢狀UITableView作為多個列表時側滑返回失效及cell側滑刪除失效的問題

繼承自UICollectionView:

@implementation XYCollectionView
// 是否允許同時支援多個手勢,預設是不支援多個手勢
// 返回yes表示支援多個手勢
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
    if
(gestureRecognizer.view == self) { if (self.contentOffset.x <= 0 && gestureRecognizer.state != UIGestureRecognizerStatePossible) { return YES; } } return NO; } // 每次觸控式螢幕幕時保證collectionView第一時間可以響應滾動 - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { self
.scrollEnabled = YES; return [super hitTest:point withEvent:event]; } @end

設定下面這個是為了觸發側滑返回時collectionView不再去滾動cell, 在CollectionView的代理方法中,根據collectionView的contentOffse讓其是否可以滾動

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
UIPanGestureRecognizer *pan = (UICollectionView *)scrollView.panGestureRecognizer
    if
(pan.view == scrollView) { if (_switchState == 0 && _downloadingArr.count > 0) { for (NSInteger i = 0; i < _downloadingArr.count; ++i) { NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0]; UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath]; // 此處是為了解決cell左滑刪除失效的問題 if (cell && [cell isKindOfClass:[DownloadingCell class]]) { CGPoint location = [pan locationInView: scrollView]; if (location.y > 0 && location.y < cell.frame.size.height*(i+1)) { scrollView.scrollEnabled = NO; } } } } // 此處是為了解決滑動到第一個cell左側邊緣時側滑返回失效問題 if (scrollView .contentOffset.x < 0) { scrollView.scrollEnabled = NO; } else { scrollView.scrollEnabled = YES; } } }

最終效果:每次又滑到第一個cell邊緣時,就會觸發側滑返回

相關推薦

iOS解決UICollectionViewUITableView列表返回失效cell刪除失效的問題

解決問題:UICollectionView下巢狀UITableView作為多個列表時側滑返回失效及cell側滑刪除失效的問題繼承自UICollectionView:@implementation XYCollectionView // 是否允許同時支援多個手勢,預設是不支援多個手勢 // 返回yes表示支援多

(實驗)Java一個執行緒用synchronized物件呼叫wait()只釋放wait函式關聯的所物件還是釋放所有鎖物件

實驗是在JDK1.8下做的。 題目起的比較拗口,其實用程式碼說明起來更簡單,如下所示: public class MultiSynchronizedTest { private static Object lock1 = new Object(); p

jquery中click點選事件次觸發的解決方案

首先講講我遇到這個問題的時候,我最開始想到的是阻止事件冒泡,想了一下好像沒有什麼關係的,最後決定還是動手做做看,放到專案中試了試確實是沒有什麼關係的,傻眼了怎麼辦,來講講我的親身體驗吧! 產生此種小姑的原因:jQuery中的click事件會累計繫結,所以我們可以在下次點

當scrollviewrecyclerview如何實現整個頁面的拉重新整理和上拉載入

最近做的一個專案中有個佈局比較複雜一點,整個頁面是個srollview裡面又嵌套了幾個recycview,剛開始是有的滑動衝突卡頓的問題,通過如下方法解決了 mRecyclerView.setLayoutManager(new GridLayoutManager(getContext(),

解決scrollView中編輯框導致不能上下滑動的問題

EditText設定maxLines之後,文字行數超過maxLines,會網上摺疊,上下滑動能夠瀏覽全部文字。 若EditText外層有scrollView。在EditText上下滑動,不會像正常情況那樣上。僅僅會滑動了scrollView。 解決的方法是:

解決Fragment裡ViewPager滑動卡頓的問題

一、先來看一下ViewPager左右滑動正常情況: 如下圖所示,Activity 裡有一個ViewPager,ViewPager左右滑動的時候切換“我申請上”和“我受邀上”兩個Fragment 程式碼如下: 二、再來看一下ViewPager左右滑動卡頓的情況: 如

ConstrainLayout解決複雜的佈局

       最近,專案比較忙,沒什麼時間寫部落格。        今天我要講的是,專案中複雜的巢狀佈局你講採取何種方式呢?如果按常規方式去做,估計你做完一個介面,估計夠嗆

解決垂直RecyclerView水平RecyclerView橫向問題

如下程式碼主要解決兩個問題: 解決ViewPager巢狀垂直RecyclerView巢狀水平RecyclerView橫向滑動到底後不滑動ViewPager 解決思路: 繼承RecyclerView,重寫dispatchTouchEvent,根據ACTION_MOVE的方

NestedScrollView內RecyclerView,開啟頁面不顯示在頂部的解決方法

由於新需求要求:個人資訊頁面最頂部要增加兩條姓氏全拼,姓名全拼,需求文件如下: 之前佈局用的是NestedScrollView內嵌RecyclerView,RecyclerView位於子佈局的第一個,顯示效果上沒有什麼問題。xml佈局如下: <?xml vers

iOS 中 TableView 內 CollectionView 動態高度的實現

在有社交分享平臺屬性的app中,我們經常看見類似有tableview中多圖展示。不管是釋出的表單介面中,還是社交動態的時間線的介面中,都需要根據圖片數量動態變化介面。最近剛好寫了一個這樣的介面,花了點時間寫了個Demo總結一下,希望可以幫助有需要的人。實現Demo效果如下圖。

在swiper中使用長頁面,以及swiper滑動卡頓、無法滑動的問題。

前言 一般而言,swiper的應用場景大多是兩種: 滿屏切換的H5頁面 pc&移動端各種樣式的輪播圖 但有的時候,面對奇怪的需求,我們需要改變,甚至讓swiper實現一些無法實現的功能。 需求 近期接到一個h5專案,主體頭部

解決s:iterators:radio的傳值問題

問題描述: 使用SSH開發留言板的稽核功能時,因為要做批量稽核,在action中獲取了所有未稽核的資訊,前臺需要對應每一個資訊生成一個單選框,即通過,刪除,不處理.其中遇到了三個問題:

為什麼預設配置的VMware vSphere/ESXi上安裝的虛擬機器網路連線失敗?

VMware vSphere/ESXi允許巢狀安裝。所謂巢狀安裝如下圖所示,即將vSphere/ESXi虛擬化軟體安裝在vSphere/ESXi的虛擬機器中。而在這樣巢狀的vSphere/ESXi虛擬機器上還可以部署虛擬機器,然而在預設的配置中,這些虛擬機器網路連線是失敗的

Activityfragment,onResume的處理

問題:當Activity裡有多個fragment時,其中fragmentA根據需求,需要在onResume時需要做請求資料等操作,但是如果直接在fragmentA裡的onResume裡寫東西,當從其他頁面返回到fragmentB和fragmentC時,fragmentA裡

NestedScrollViewRecyclerView失去慣性解決以及滑動衝突的解決方案以及RV焦點載入問題

1、簡介 想必大家在開發中不可避免的都在使用RecyclerView吧,那麼也應該在NestScrollView中巢狀過RecyclerView吧,但是呢,你會發現當你的Rv和Nsv同向的時候,那麼會遇到滑動失去慣性的問題,這就是我們的問題一,再有當我們的Nsv是固定高度的

unity解決prefab內prefab,丟失引用關係的問題

untiy中prefab A 包含B,那麼B的引用關係就會丟失,以後對B的修改不會反應到A中,PrefabEvolution很好的解決了這個問題。 匯入該外掛後,有詳細的文件介紹,簡單介紹用法如下: 在一個prefab的例項上點選紅色標記的按鈕,就可以讓所有引用該pref

解決SwipeRefreshLayout內ViewPager,造成的滑動衝突

提出問題:在SwipeRefreshLayout內巢狀ViewPager時,會造成ViewPager滑動時不靈敏或觸發SwipeRefreshLayout的下拉重新整理事件。 解決思路:在ViewPager滑動時禁止SwipeRefreshLayout滑動,ViewPage

Android—解決之ScrollViewGridView顯示不全的問題

重寫GridView裡面的方法,在xml裡面使用該gridview package com.example.wheelview; import android.content.Context; import android.util.AttributeSet; impor

滾動TAB可懸浮頭效果實現

前言        在前面的文章中我們已經實現過巢狀滾動可以懸浮頭效果,當時有兩種實現:         1. Listview多tab上滑懸浮 一種是一個ListView裡面切換資料來源,同時監控頁面滾動,佈局頁面中設定兩層,一層放置懸浮頭,滾動到一定位

網絡請求成功返回再執行另外任務的思路分析(iOS

cnblogs 運行 == set 聯系 demo use 但是 clas 前言 今天我們來討論一個經常出現的需求場景,也是一個老話題。在開發中我們往往會遇到需要進行多個網絡請求,並且需要多個網絡請求成功返回後再做其他事的場景。比如同一個界面顯示的內容需要用到兩個網絡接口