Я клетки перекрывающихся так:просмотров UICollectionView клеток перекрывающихся
мой cellForItemAtIndexPath
как таковой:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as UICollectionViewCell
cell.backgroundColor = UIColor(red: 27.0/255.0, green: 38.0/255.0, blue: 52.0/255.0, alpha: 1.0)
let textFrame = CGRect(x: 0, y: cell.frame.height * 0.30, width: cell.frame.width, height: cell.frame.height)
var textLabel: UILabel! = UILabel(frame: textFrame)
textLabel.font = UIFont(name:"Helvetica-Light", size: 14.0)
textLabel.textAlignment = .Center
textLabel.textColor = UIColor.whiteColor()
println(categoryArray[indexPath.row].category)
textLabel.text = categoryArray[indexPath.row].category
var cellImage = UIImage(named: categoryArray[indexPath.row].catImage)//Array(Array(model.categories.values)[cellCount])[1]
let imageSize = cell.frame.height * 0.45
let imageView = UIImageView(image: cellImage as UIImage?)
imageView.frame = CGRect(x: (cell.frame.width/2) - (imageSize/2), y:cell.frame.height * 0.15, width: imageSize, height: imageSize)
var bottomBorder: UIView = UIView(frame:CGRectMake(0, cell.frame.height - 1.0, cell.frame.width, 5));
//bottomBorder.backgroundColor = UIColor(rgba: Array(Array(model.categories.values)[cellCount])[0] as String)
bottomBorder.backgroundColor = UIColor(rgba: "#A64259")
cell.addSubview(imageView)
cell.addSubview(bottomBorder)
cell.addSubview(textLabel)
cellCount++
return cell
}
Я понимаю, что она повторно использует клетки, отличная идея ... кроме как предотвратить перекрытие текста ячейки?
EDIT - ПОТЕНЦИАЛ РЕШЕНИЕ # 1
Поскольку эти подвиды непрерывно модифицируется я понял, что если я просто бросил их и создал новые, так что я использовал:
for view in cell.subviews {
view.removeFromSuperview()
}
И это похоже на трюк. Я подозреваю, что у этого есть немного больше накладных расходов, чем просто изменение значений конкретных элементов в subviews. Будут исследовать дальше.
Поскольку я новичок в быстром и ios в целом, многие из этих вещей я не уверен, как это сделать. Я пытаюсь это сделать сейчас. – zillaofthegods
Это должно быть легко, если вы понимаете проблему. Вы в основном повторно используете небольшое количество ячеек, а затем добавляете их в каждый раз при вызове cellForItemAtIndexPath. Таким образом, вместо добавления просмотров вам просто нужно установить свойства просмотров, которые вы уже добавили. Дайте мне знать, если вам нужна дополнительная помощь. – amahfouz
Концептуально я понимаю проблему. Фактический код, чтобы сделать это, я не уверен. Я продолжу попробовать некоторые вещи – zillaofthegods