UITableViewCell içindeki bir etiketin içinde farklı dizeleri görüntülemek istediğim bir uygulama oluşturuyorum. Ancak, dizeler belirli bir sırada olmadığından, indexPath.row kullanamıyorum.Dinamik Etiket Değişiklikleri Oluşturmak İçin Tablo Görünümünü Değiştirme iOS Swift
let one = "This is the first quote"
let two = "This is the second quote"
var numberOfRows = 1
var quoteNumber = 0
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let items = [one, two]
myTableView = tableView
let cell = tableView.dequeueReusableCellWithIdentifier("customcell", forIndexPath: indexPath) as! cellTableViewCell
let cellWidth = cell.frame.width
let cellHeight = cell.frame.height
cell.QuoteLabel.frame = CGRectMake(cellWidth/8, cellHeight/4, cellWidth/1.3, cellHeight/2)
let item = items[quoteNumber]
cell.QuoteLabel.text = item
cell.QuoteLabel.textColor = UIColor.blackColor()
if quoteNumber == 0 {
quoteNumber = 1
}
if numberOfRows == 1 {
numberOfRows = 2
}
return cell
}
override func viewDidLoad() {
super.viewDidLoad()
var timer = NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: "update", userInfo: nil, repeats: true)
}
func update() {
dispatch_async(dispatch_get_main_queue()) {
self.myTableView.reloadData()
}
Bu kod oluşur ve çalışır ama belirledik zamanlayıcı süresi dolar ve güncelleme fonksiyonu ran edildiğinde, iki kullanılabilir hücrelerin her ikisi de aynı etikete değiştirin. Yapmaya çalıştığım şey, yeni eklenen hücrenin indexpath.row kullanmadan 'item' dizisinden yeni öğeyi alabilmesi için ilk hücrenin durağan kalmasını sağlamaktır (çünkü kullanacağım tırnaklar öğeler dizisi belirli bir sırada olmayacaktır). Herhangi bir yardım takdir edilecektir.
Verileriniz sipariş aşamasında olmalı. Satırları başka nasıl düzgün görüntüleyebilirsiniz? Verileriniz indexPath tarafından dizine eklenebilmelidir. Bu gerçeğin etrafında dolaşmak yok. – rmaddy