2017-06-03 63 views
0

如何在Swift 3中設置我的tableview的動作按鈕對齊方式?我如何在Swift中設置我的tableview的動作按鈕對齊垂直?

This is my tableview's action buttons looks like。 總是這是look like這是水平的,我想對齊到垂直。我如何做到這一點?

override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? { 
    let RowAction1 = UITableViewRowAction(style: UITableViewRowActionStyle.default, title: "action1", handler:{action, indexpath in 
    print("action1") 
    }) 
    RowAction1.backgroundColor = UIColor(red: 0.298, green: 0.51, blue: 0.3922, alpha: 1.0) 

    let RowAction2 = UITableViewRowAction(style: UITableViewRowActionStyle.default, title: "action2", handler:{action, indexpath in 
    print("action2") 
    }) 
    RowAction2.backgroundColor = UIColor(red: 0.28, green: 0.851, blue: 0.3922, alpha: 1.0) 

    let RowAction3 = UITableViewRowAction(style: UITableViewRowActionStyle.default, title: "action3", handler:{action, indexpath in 
    print("action3") 
    }) 
    RowAction3.backgroundColor = UIColor(red: 0.298, green: 0.81, blue: 0.3922, alpha: 1.0) 

    let RowAction4 = UITableViewRowAction(style: UITableViewRowActionStyle.default, title: "action4", handler:{action, indexpath in 
    print("action4") 
    }) 
    RowAction4.backgroundColor = UIColor(red: 0.298, green: 0.851, blue: 0.3922, alpha: 1.0) 

    return [RowAction1, RowAction2, RowAction3, RowAction4] 

} 

回答

0
+0

是否有在的tableView的方法或功能的解決方案?我的意思是編程。 – HiKa

+0

stackView完全可以在代碼中定製......只需將屬性.aligment設置爲.horizo​​ntal我猜 –

+0

但我真的不知道如何在代碼中編寫整個UI是有用的。如果你需要如此糟糕的細胞推開,爲其定製xib ... –

1

爲什麼不創建一個CustomCell和使用AutoLayout?像這樣的例子,我下面創建:

enter image description here

所以你基本上是在你的故事板創建一個自定義單元格的tableView內,然後使用它:

let cell = tableView.dequeueReusableCell(withIdentifier: "CustomExampleCell", for: indexPath) as! CustomExampleCell 

您可以下載我爲創建示例項目你here

更新
要使用內置的方法在斯威夫特輕掃無障礙使用下面的代碼:

override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool { 
    return true 
} 

override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? { 
    let more = UITableViewRowAction(style: .normal, title: "More") { action, index in 
     print("More") 
    } 
    let share = UITableViewRowAction(style: .normal, title: "Share") { action, index in 
     print("Share") 
    } 
    let delete = UITableViewRowAction(style: .default, title: "Delete") { action, index in 
     print("Delete") 

    } 
    more.backgroundColor = .gray 
    share.backgroundColor = .blue 
    delete.backgroundColor = .red 
    return [delete, share, more] 
} 
+0

我已經使用自定義單元格 – HiKa

+0

然後檢查我的示例如何使用AutoLayout來設置按鈕的樣式。 –

+0

在刷到細胞時打開這個按鈕嗎? – HiKa