2016-05-16 7 views
0

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 


} 
} 
+0

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. –

Antwort

0

Sie UITableViewCellStyle.Value1 oder UITableViewCellStyle.Value2 nutzen könnten für Ihre UITableViewCell-Stil.

von Table View Styles and Accessory Views

UITableViewCellStyle.Value1 legt den Untertitel im blauen Text und rechten richtet es auf der rechten Seite der Reihe. Bilder sind nicht zulässig.

Während UITableViewCellStyle.Value2 setzt den Haupttitel in blau und rechten richten sie an einem Punkt, der von der linken Seite der Reihe eingekerbt ist. Der Untertitel wird in einer kurzen Entfernung rechts von an diesem Punkt ausgerichtet. Dieser Stil erlaubt keine Bilder.

+0

Ja, ich habe es mir angesehen. Ist es möglich, Untertitel und Value2 gleichzeitig zu verwenden? Das ist meine eigentliche Frage. – AS2345

+0

ist es möglich, wenn Sie Ihre benutzerdefinierte 'UITableViewCell' erstellen. –

Verwandte Themen