公司有個奇葩需求。刪除按鈕帶點圓角 不止如此,還有cell之間有間隔,cell圓角,cell左右有間隔。如下圖!?。。?!
公司主營業(yè)務(wù):網(wǎng)站建設(shè)、成都做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出芙蓉免費做網(wǎng)站回饋大家。內(nèi)心奔潰的我想了想了很多方法。(獲取系統(tǒng)自帶按鈕改圓角也試過,自定義手勢也試過)最后決定全部自定義。個人感覺這樣最合適。下面是效果圖
今天有時間,稍微說下實現(xiàn)方式:
這個項目工程只是提供一種思路,應(yīng)對場景是 需要自定義左滑刪除按鈕的樣式。
因為項目本身并不是修改系統(tǒng)的左滑刪除,而是自定義實現(xiàn),所以任何樣式都算使用。
下面先說下項目的結(jié)構(gòu)類型
最底下自然是uitableviewCell 然后放入一個scrollview 填滿整個cell (若想有左右間隔,也可以不填滿)
scrollview 中放入一個uiview 和scrollview寬高相等 作為內(nèi)容視圖 。界面的所有控件視圖都添加到這個uiview中!??! 右邊就是自定義的刪除按鈕 也添加到scrollview中。這樣就能實現(xiàn)滑動效果了。(你也可以加2個按鈕,3個按鈕,隨你開心)
下面講下代碼
//設(shè)置代理 - (void)awakeFromNib { [super awakeFromNib]; self.myScrollView.delegate = self; } -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{ [self didBeginMove]; } -(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ [scrollView setContentOffset:scrollView.contentOffset animated:YES]; [self scrollViewDidEnd:scrollView]; } -(void)scrollViewDidScroll:(UIScrollView *)scrollView{ CGPoint offset = scrollView.contentOffset; //左邊不彈性 if (offset.x < 0 ) { offset.x = 0; [scrollView setContentOffset:offset animated:NO]; } } -(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{ NSLog(@"beginbegin"); [scrollView setContentOffset:scrollView.contentOffset animated:NO]; [self scrollViewDidEnd:scrollView]; } -(void)scrollViewDidEnd:(UIScrollView *)scrollView{ [scrollView setContentOffset:scrollView.contentOffset animated:YES]; CGPoint point = scrollView.contentOffset; if (point.x > DELETEWIDTH / 2) { self.deleteLeftLayout.constant = -3; [UIView animateWithDuration:0.3 animations:^{ [self layoutIfNeeded]; }]; [scrollView setContentOffset:CGPointMake(DELETEWIDTH -3 , 0) animated:YES]; self.detailView.layer.cornerRadius = 0; }else{ self.deleteLeftLayout.constant = 0; [self layoutIfNeeded]; [scrollView setContentOffset:CGPointMake(0, 0) animated:YES]; self.detailView.layer.cornerRadius = 5; } } -(void)didBeginMove{ if (self.tableview) { MyTableViewCell *currentCell = objc_getAssociatedObject(self.tableview, @"currentCell"); if (currentCell != self && currentCell != nil) { [currentCell hideButtonsWithAnimation]; } objc_setAssociatedObject(self.tableview, @"currentCell", self, OBJC_ASSOCIATION_ASSIGN); } } -(void)hideButtonsWithAnimation{ [self.myScrollView setContentOffset:CGPointMake(0, 0) animated:YES]; self.detailView.layer.cornerRadius = 5; self.deleteLeftLayout.constant = 0; [self layoutIfNeeded]; }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。