Ich erstelle eine kleine Aufgabenliste Anwendung mit Xcode 7 und Swift. Ich möchte jedoch, dass einige der Daten, z. B. die Datumsbezeichnung, auf der rechten Seite der UITableViewCell liegen, mit Ausnahme der linken Seite. Welchen Code würde ich verwenden, um die Datumsbezeichnung auf die rechte Seite einer UITableViewCell zu setzen?Wie Sie Daten auf die rechte Seite eines UITableViewCell setzen
Hier ist mein Code für meine ViewController.swift, die die TableView hat.
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
// All Outlets Connected to StoryBoard
@IBOutlet var BTN: UIButton!
@IBOutlet var BTN2: UIButton!
@IBOutlet var BTN3: UIButton!
@IBOutlet var BTN4: UIButton!
@IBOutlet var tbl: UITableView?
@IBOutlet var Button: UIBarButtonItem!
@IBOutlet var Bar: UINavigationItem!
//Other Variables
var varView = Int()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.\
if revealViewController() != nil {
Button.target = revealViewController()
Button.action = #selector(SWRevealViewController.revealToggle(_:))
}
self.view.backgroundColor = UIColor(red: 50/255.0, green: 132/255.0, blue: 255/255.0, alpha: 1.0)
BTN.alpha = 1.0
BTN4.alpha = 0
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func BTNClicked(sender: AnyObject) {
UIView.animateWithDuration(1.0, animations: ({
self.BTN2.transform = CGAffineTransformMakeTranslation(0, -90)
self.BTN3.transform = CGAffineTransformMakeTranslation(0, -180)
self.BTN4.transform = CGAffineTransformMakeTranslation(0, 0)
self.BTN.alpha = 0
self.BTN4.alpha = 1.0
}))
}
@IBAction func BTNClickedAgain(sender: AnyObject) {
UIView.animateWithDuration(1.0, animations: ({
self.BTN2.transform = CGAffineTransformMakeTranslation(0, 0)
self.BTN3.transform = CGAffineTransformMakeTranslation(0, 0)
self.BTN4.transform = CGAffineTransformMakeTranslation(0, 0)
self.BTN.alpha = 1.0
self.BTN4.alpha = 0
}))
}
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath){
if(editingStyle == UITableViewCellEditingStyle.Delete){
taskMgr.tasks.removeAtIndex(indexPath.row)
tbl?.reloadData();
}
}
override func viewWillAppear(animated: Bool) {
tbl?.reloadData();
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
return taskMgr.tasks.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) ->
UITableViewCell{
let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "test")
cell.textLabel?.text = taskMgr.tasks[indexPath.row].name
cell.detailTextLabel?.text = taskMgr.tasks[indexPath.row].desc
cell.detailTextLabel?.text = taskMgr.tasks[indexPath.row].date
return cell
}
Auch hier ist ein Blick auf meine AddPlan.swift, dies ist, wo ich die Daten an die UITableViewCells im ViewControlelr.swift hinzufügen:
class addPlan: UIViewController, UITextFieldDelegate {
var time: Int = 6
@IBOutlet var txt: UITextField!
@IBOutlet var txt2: UITextField! // This is the data text, I want this to be on the left side of the UITableViewCell.
@IBOutlet var txt1: UITextField!
@IBOutlet var Button02: UIBarButtonItem!
override func viewDidLoad() {
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(addPlan.dismissKeyboard))
view.addGestureRecognizer(tap)
self.txt.delegate = self;
self.txt1.delegate = self;
self.txt2.delegate = self;
if revealViewController() != nil {
Button02.target = revealViewController()
Button02.action = #selector(SWRevealViewController.revealToggle(_:))
}
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
self.view.endEditing(true)
return false
}
func dismissKeyboard() {
//Causes the view (or one of its embedded text fields) to resign the first responder status.
view.endEditing(true)
}
@IBAction func ClickedforSelection(sender: UIButton) {
taskMgr.addTask(txt.text!, desc: txt1.text!, date: txt2.text!)
self.view.endEditing(true)
txt.text = ""
txt1.text = ""
txt2.text = "" // This is the data text
}
}
Wenn Sie ein bestimmtes Design einer Tabellenansicht Zelle möchten, müssen Sie eine benutzerdefinierte 'UITableViewCell' Unterklasse erstellen und die Zelle in IB entwerfen. Es ist sehr einfach zu tun und es gibt eine große Anzahl von Tutorials im Internet. –