側滑刪除、置頂、取消關注,在ios8之前需要我們自定義,ios8時蘋果公司推出了新的api,uitableviewrowaction類
1.oc版本
// 必須寫的方法(否則ios 8無法刪除,ios 9及其以上不寫沒問題),和editactionsforrowatindexpath配對使用,裡面什麼不寫也行
- (void)tableview:(uitableview *)tableview commiteditingstyle:(uitableviewcelleditingstyle)editingstyle forrowatindexpath:(nsindexpath *)indexpath
// 新增自定義的側滑功能
- (nsarray *)tableview:(uitableview *)tableview editactionsforrowatindexpath:(nsindexpath *)indexpath ];
uitableviewrowaction *toprowaction = [uitableviewrowaction rowactionwithstyle:uitableviewrowactionstylenormal title:@"置頂" handler:^(uitableviewrowaction *action, nsindexpath *indexpath) ];
/// 設定按鈕顏色,normal預設是灰色的,default預設是紅色的
toprowaction.backgroundcolor = [uicolor orangecolor];
uitableviewrowaction *cancelrowaction = [uitableviewrowaction rowactionwithstyle:uitableviewrowactionstylenormal title:@"取消關注" handler:^(uitableviewrowaction *action, nsindexpath *indexpath) ];
return @[deleterowaction,toprowaction,cancelrowaction];
}
只是乙個刪除按鈕,而不顯示其他的簡單的寫法,這個也可以用於ios7,沒有測過
// 只是乙個刪除按鈕
- (nsstring *)tableview:(uitableview *)tableview titlefordeleteconfirmationbuttonforrowatindexpath:(nsindexpath *)indexpath
// 刪除的處理
- (void)tableview:(uitableview *)tableview commiteditingstyle:(uitableviewcelleditingstyle)editingstyle forrowatindexpath:(nsindexpath *)indexpath
]]; [alertcontroller addaction:[uialertaction actionwithtitle:@"刪除" style:uialertactionstyledestructive handler:^(uialertaction * _nonnull action) ]];
[self presentviewcontroller:alertcontroller animated:yes completion:nil];
}
2.swift版本
// 和editactionsforrowatindexpath配對使用
func tableview(tableview: uitableview, commiteditingstyle editingstyle: uitableviewcelleditingstyle, forrowatindexpath indexpath: nsindexpath)
// ios8 才有此方法
// 這裡可以新增任意多個操作。要確保這個**生效,還是需要實現commiteditingstyle這個方法,哪怕commiteditingstyle裡面什麼也不處理
func tableview(tableview: uitableview, editactionsforrowatindexpath indexpath: nsindexpath) -> [anyobject]?
let toprowaction = uitableviewrowaction(style: uitableviewrowactionstyle.default, title: "置頂")
toprowaction.backgroundcolor = uicolor.orangecolor()
let cancelrowaction = uitableviewrowaction(style: uitableviewrowactionstyle.normal, title: "取消關注")
if indexpath.row == 0 else
}
效果如圖:
ios8 系統定位問題
原文 今天在開發的時候發現了乙個ios8的定位問題,執行操作之後,不會呼叫到定位之後的delegate方法中,然後找了一些資料來了解了一下ios8系統下的 定位,發現確實是有所不同的 解決方法 1.在info.plist中新增key nslocationwheninusedescription,允許...
iOS8下的開發變化
ios8即將推出,蘋果已經提供了ios8 developer demo以及xcode6 demo。在此分享下目前為止ios8的對應要點。原創,請帶 2014 8 5更新內容 1.ios8 beta5更新後,存在 tel 變不好用的問題了。目前正在調查中。2.嚴重問題 現在的viewdidload的呼...
iOS 8開發入門 序言(1)
當年小林在學習ios開發的時候,各種缺乏資料,網上到處收羅的回來的資料總是支離破碎,沒有系統的中文教程,只能一點一點啃國外的教程,看見公司新員工在入門時還是困難重重,小林計畫翻譯這本simmonng的 beginning ios8 programming by swift ios8 開發基於swif...