iOS開發 iOS8系統新出cell側滑View

2021-07-05 03:17:03 字數 2543 閱讀 5228

側滑刪除、置頂、取消關注,在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...