#如何使用uitableviewrowaction實現右滑選擇呢?
1、在ios8以前,我們實現tableview中滑動顯示刪除,置頂,更多等等的按鈕時,都需要自己去實現,在ios8中系統已經寫好了,只要乙個**方法和乙個類就行了;
2、ios8的協議對了乙個方法,返回值是陣列的tableview:editactionforrowatindexpath:方法,我們可以在方法內部寫好幾個按鈕,然後放到陣列中返回,那些按鈕的類就是uitableviewrowaction;
3、在uitableviewrowaction類。我們可以設定按鈕的樣式,顯示文字、背景色和按鈕事件(在block內實現);
4、在**方法中,我們可以常見多個按鈕放到陣列中返回,最先放入陣列的按鈕顯示在最右邊,最後放入的顯示在最左邊;
5、如果自己設定乙個或多個按鈕,系統自帶的刪除按鈕就消失了;
- (bool)tableview:(uitableview *)tableview shouldindentwhileeditingrowatindexpath:(nsindexpath *)indexpath
- (nsarray *)tableview:(uitableview *)tableview editactionsforrowatindexpath:(nsindexpath *)indexpath];
}else if (indexpath.row==1)];
// 新增乙個修改按鈕
morerowaction = [uitableviewrowaction rowactionwithstyle:uitableviewrowactionstylenormal title:@"修改" handler:^(uitableviewrowaction *action, nsindexpath *indexpath) ];
morerowaction.backgroundeffect = [uiblureffect effectwithstyle:uiblureffectstyledark];
}else if (indexpath.row==2)];
// 新增乙個修改按鈕
morerowaction = [uitableviewrowaction rowactionwithstyle:uitableviewrowactionstylenormal title:@"修改" handler:^(uitableviewrowaction *action, nsindexpath *indexpath) ];
morerowaction.backgroundeffect = [uiblureffect effectwithstyle:uiblureffectstyledark];
// 新增乙個傳送按鈕
sanrowaction = [uitableviewrowaction rowactionwithstyle:uitableviewrowactionstylenormal title:@"傳送" handler:^(uitableviewrowaction *action, nsindexpath *indexpath) ];
sanrowaction.backgroundcolor=[uicolor orangecolor];
}else];
// 新增乙個修改按鈕
morerowaction = [uitableviewrowaction rowactionwithstyle:uitableviewrowactionstylenormal title:@"修改" handler:^(uitableviewrowaction *action, nsindexpath *indexpath) ];
morerowaction.backgroundeffect = [uiblureffect effectwithstyle:uiblureffectstyledark];
// 新增乙個傳送按鈕
sanrowaction = [uitableviewrowaction rowactionwithstyle:uitableviewrowactionstylenormal title:@"傳送" handler:^(uitableviewrowaction *action, nsindexpath *indexpath) ];
sanrowaction.backgroundcolor=[uicolor orangecolor];
// 新增乙個傳送按鈕
ok = [uitableviewrowaction rowactionwithstyle:uitableviewrowactionstylenormal title:@"ok鍵" handler:^(uitableviewrowaction *action, nsindexpath *indexpath) ];
ok.backgroundcolor=[uicolor purplecolor];
}// 將設定好的按鈕放到陣列中返回
if (indexpath.row==0) else if (indexpath.row==1)else if(indexpath.row==2)else if(indexpath.row==3)
return nil;
}
參考ios筆記 IOS8 設定TableView分割線
ios8 設定tableview separatorinset 分割線從邊框頂端開始 原創音訊 教主談遊戲第一期 創意能被偷走嗎?在ios8上 tableview setseparatorinset uiedgeinsetsmake 0,0,0,0 不起作用 經過測試加入下面方法 在ios7 8上都...
ios8 系統定位問題
原文 今天在開發的時候發現了乙個ios8的定位問題,執行操作之後,不會呼叫到定位之後的delegate方法中,然後找了一些資料來了解了一下ios8系統下的 定位,發現確實是有所不同的 解決方法 1.在info.plist中新增key nslocationwheninusedescription,允許...
被遺忘的iOS8
b.上個專案中遇到的兩個地方,當年做開發的時候是非常注意的點,但是前幾天都忽略了,塵封的ios8手機,跑程式,崩了,崩了,崩了,崩了,下面總結下吧 只是專案中遇到了,日後有空再慢慢的補充 1.通知監聽者的移除,這個在ios8上是必須要求手動寫 去移除的。2.wkwebview的滑動監聽,一定要手動移...