Create multiple UIImageViews in UICollectionViewCell
up vote
1
down vote
favorite
I'm trying to make multiple UIImageViews in a UICollectionViewCell so I wrote this code but nothing appends to lines apparently.
class chartsCell: UICollectionViewCell {
var lines = [UIImageView]()
var chartValueCount = Int()
override func prepareForReuse() {
super.prepareForReuse()
lines.removeAll()
chartValueCount = 0
}
override init(frame: CGRect) {
super.init(frame: frame)
for i in 0 ..< chartValueCount {
let line = UIImageView(frame: CGRect(x: frame.width * CGFloat(i + 1) / CGFloat(chartValueCount + 1) - (10 * CGFloat(i + 1)), y: 0, width: 20, height: frame.height))
line.backgroundColor = UIColor.blue
line.layer.masksToBounds = true
line.layer.cornerRadius = 10
lines.append(line)
contentView.addSubview(lines[i])
}
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
I change chartValueCount here:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "chartsCell", for: indexPath) as! chartsCell
cell.chartValueCount = chartValueCount[indexPath.row]
return cell
}
There are three values in chartValueCount array and as I print cell.lines it prints three .
Nothing shows up in the CollectionView because lines is empty. How do I fill it properly?
arrays swift
add a comment |
up vote
1
down vote
favorite
I'm trying to make multiple UIImageViews in a UICollectionViewCell so I wrote this code but nothing appends to lines apparently.
class chartsCell: UICollectionViewCell {
var lines = [UIImageView]()
var chartValueCount = Int()
override func prepareForReuse() {
super.prepareForReuse()
lines.removeAll()
chartValueCount = 0
}
override init(frame: CGRect) {
super.init(frame: frame)
for i in 0 ..< chartValueCount {
let line = UIImageView(frame: CGRect(x: frame.width * CGFloat(i + 1) / CGFloat(chartValueCount + 1) - (10 * CGFloat(i + 1)), y: 0, width: 20, height: frame.height))
line.backgroundColor = UIColor.blue
line.layer.masksToBounds = true
line.layer.cornerRadius = 10
lines.append(line)
contentView.addSubview(lines[i])
}
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
I change chartValueCount here:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "chartsCell", for: indexPath) as! chartsCell
cell.chartValueCount = chartValueCount[indexPath.row]
return cell
}
There are three values in chartValueCount array and as I print cell.lines it prints three .
Nothing shows up in the CollectionView because lines is empty. How do I fill it properly?
arrays swift
Edit: removed xcode tag as it's irrelevant. Just what IDE op is using
– Scriptable
yesterday
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I'm trying to make multiple UIImageViews in a UICollectionViewCell so I wrote this code but nothing appends to lines apparently.
class chartsCell: UICollectionViewCell {
var lines = [UIImageView]()
var chartValueCount = Int()
override func prepareForReuse() {
super.prepareForReuse()
lines.removeAll()
chartValueCount = 0
}
override init(frame: CGRect) {
super.init(frame: frame)
for i in 0 ..< chartValueCount {
let line = UIImageView(frame: CGRect(x: frame.width * CGFloat(i + 1) / CGFloat(chartValueCount + 1) - (10 * CGFloat(i + 1)), y: 0, width: 20, height: frame.height))
line.backgroundColor = UIColor.blue
line.layer.masksToBounds = true
line.layer.cornerRadius = 10
lines.append(line)
contentView.addSubview(lines[i])
}
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
I change chartValueCount here:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "chartsCell", for: indexPath) as! chartsCell
cell.chartValueCount = chartValueCount[indexPath.row]
return cell
}
There are three values in chartValueCount array and as I print cell.lines it prints three .
Nothing shows up in the CollectionView because lines is empty. How do I fill it properly?
arrays swift
I'm trying to make multiple UIImageViews in a UICollectionViewCell so I wrote this code but nothing appends to lines apparently.
class chartsCell: UICollectionViewCell {
var lines = [UIImageView]()
var chartValueCount = Int()
override func prepareForReuse() {
super.prepareForReuse()
lines.removeAll()
chartValueCount = 0
}
override init(frame: CGRect) {
super.init(frame: frame)
for i in 0 ..< chartValueCount {
let line = UIImageView(frame: CGRect(x: frame.width * CGFloat(i + 1) / CGFloat(chartValueCount + 1) - (10 * CGFloat(i + 1)), y: 0, width: 20, height: frame.height))
line.backgroundColor = UIColor.blue
line.layer.masksToBounds = true
line.layer.cornerRadius = 10
lines.append(line)
contentView.addSubview(lines[i])
}
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
I change chartValueCount here:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "chartsCell", for: indexPath) as! chartsCell
cell.chartValueCount = chartValueCount[indexPath.row]
return cell
}
There are three values in chartValueCount array and as I print cell.lines it prints three .
Nothing shows up in the CollectionView because lines is empty. How do I fill it properly?
arrays swift
arrays swift
edited yesterday
Scriptable
12k43253
12k43253
asked yesterday
vahidgr
297
297
Edit: removed xcode tag as it's irrelevant. Just what IDE op is using
– Scriptable
yesterday
add a comment |
Edit: removed xcode tag as it's irrelevant. Just what IDE op is using
– Scriptable
yesterday
Edit: removed xcode tag as it's irrelevant. Just what IDE op is using
– Scriptable
yesterday
Edit: removed xcode tag as it's irrelevant. Just what IDE op is using
– Scriptable
yesterday
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
class chartsCell: UICollectionViewCell {
var lines = [UIImageView]()
var chartValueCount:Int{
didSet{
for i in 0 ..< chartValueCount {
let line = UIImageView(frame: CGRect(x: frame.width * CGFloat(i + 1) / CGFloat(chartValueCount + 1) - (10 * CGFloat(i + 1)), y: 0, width: 20, height: frame.height))
line.backgroundColor = UIColor.blue
line.layer.masksToBounds = true
line.layer.cornerRadius = 10
lines.append(line)
contentView.addSubview(lines[i])
}
}
}
override func prepareForReuse() {
super.prepareForReuse()
lines.removeAll()
chartValueCount = 0
}
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
class chartsCell: UICollectionViewCell {
var lines = [UIImageView]()
var chartValueCount:Int{
didSet{
for i in 0 ..< chartValueCount {
let line = UIImageView(frame: CGRect(x: frame.width * CGFloat(i + 1) / CGFloat(chartValueCount + 1) - (10 * CGFloat(i + 1)), y: 0, width: 20, height: frame.height))
line.backgroundColor = UIColor.blue
line.layer.masksToBounds = true
line.layer.cornerRadius = 10
lines.append(line)
contentView.addSubview(lines[i])
}
}
}
override func prepareForReuse() {
super.prepareForReuse()
lines.removeAll()
chartValueCount = 0
}
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
add a comment |
up vote
1
down vote
accepted
class chartsCell: UICollectionViewCell {
var lines = [UIImageView]()
var chartValueCount:Int{
didSet{
for i in 0 ..< chartValueCount {
let line = UIImageView(frame: CGRect(x: frame.width * CGFloat(i + 1) / CGFloat(chartValueCount + 1) - (10 * CGFloat(i + 1)), y: 0, width: 20, height: frame.height))
line.backgroundColor = UIColor.blue
line.layer.masksToBounds = true
line.layer.cornerRadius = 10
lines.append(line)
contentView.addSubview(lines[i])
}
}
}
override func prepareForReuse() {
super.prepareForReuse()
lines.removeAll()
chartValueCount = 0
}
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
class chartsCell: UICollectionViewCell {
var lines = [UIImageView]()
var chartValueCount:Int{
didSet{
for i in 0 ..< chartValueCount {
let line = UIImageView(frame: CGRect(x: frame.width * CGFloat(i + 1) / CGFloat(chartValueCount + 1) - (10 * CGFloat(i + 1)), y: 0, width: 20, height: frame.height))
line.backgroundColor = UIColor.blue
line.layer.masksToBounds = true
line.layer.cornerRadius = 10
lines.append(line)
contentView.addSubview(lines[i])
}
}
}
override func prepareForReuse() {
super.prepareForReuse()
lines.removeAll()
chartValueCount = 0
}
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
class chartsCell: UICollectionViewCell {
var lines = [UIImageView]()
var chartValueCount:Int{
didSet{
for i in 0 ..< chartValueCount {
let line = UIImageView(frame: CGRect(x: frame.width * CGFloat(i + 1) / CGFloat(chartValueCount + 1) - (10 * CGFloat(i + 1)), y: 0, width: 20, height: frame.height))
line.backgroundColor = UIColor.blue
line.layer.masksToBounds = true
line.layer.cornerRadius = 10
lines.append(line)
contentView.addSubview(lines[i])
}
}
}
override func prepareForReuse() {
super.prepareForReuse()
lines.removeAll()
chartValueCount = 0
}
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
answered yesterday
Avtar Singh
282
282
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53372638%2fcreate-multiple-uiimageviews-in-uicollectionviewcell%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown

Edit: removed xcode tag as it's irrelevant. Just what IDE op is using
– Scriptable
yesterday