Swift 實現tableView單選系統樣式

2021-08-01 20:39:10 字數 1422 閱讀 2035

// 實現tableview單選

import uikit

class viewcontroller: uiviewcontroller {

var tableview: uitableview!

override func viewdidload() {

super.viewdidload()

tableview = uitableview(frame: cgrectmake(0, 0, uiscreen.mainscreen().bounds.width, uiscreen.mainscreen().bounds.height), style: .plain)

tableview.delegate = self

tableview.datasource = self

self.view.addsubview(tableview)

extension viewcontroller: uitableviewdatasource,uitableviewdelegate {

func tableview(tableview: uitableview, numberofrowsinsection section: int) -> int {

return 20

func tableview(tableview: uitableview, cellforrowatindexpath indexpath: nsindexpath) -> uitableviewcell {

let cell = uitableviewcell(style: .default, reuseidentifier: "cell")

cell.textlabel?.text = "123"

return cell

//獲取將要選擇的單元格的路徑

func tableview(tableview: uitableview, didselectrowatindexpath indexpath: nsindexpath){

//取消選中的樣式

tableview.deselectrowatindexpath(indexpath, animated: true)

//獲取當前選中的單元格

let cell:uitableviewcell! = tableview.cellforrowatindexpath(indexpath)

//返回所有單元格

//遍歷取消所有單元格樣式

var arry = tableview.visiblecells

for i in 0 ..< arry.count {

let cells: uitableviewcell = arry[i]

cells.accessorytype = .none

//設定選中的單元格樣式

cell.accessorytype = .checkmark

autolayout 計算tableView的高度

在ios7以後,出現了自動計算高度的方法。systemlayoutsizefittingsize。但是這個得到的是contentview的高度,所以cell的高度還要再 1.在計算出高度之後,可以儲存在陣列中,或者在這個cell中有關cgfloat屬性,來儲存當前的cell的model所佔cell的...

TableVie優化方法和優化機制

1,uitableview的優化方法 快取高度,非同步繪製,減少層級,hide,避免離屏渲染 1 快取高度 當我們建立frame模型的時候,計算出來cell的高度的時候,我們可以將cell的高度快取到字典裡面,以cell的indexpath和identifier作為為key。非同步繪製 在cell上...

貪心 Swift實現

求解最優化問題得演算法通常需要經過一系列得步驟,每個步驟都面臨多種選擇。在許多最優化問題上使用動態規劃其實會有殺雞用牛刀的感覺。貪心演算法 greedy algorithm 保證每一步都作出當時看起來的最佳的選擇,換句話說就是保證區域性最優選。確定問題的最優子結構 設計乙個遞迴演算法 證明我們每做乙...