class EventCell: UITableViewCell { var eventName: UILabel var eventCity: UILabel var eventTime: UILabel override init(style: UITableViewCellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) self.eventName = UILabel(frame: CGRectMake(20, 10, UIScreen.mainScreen().bounds.size.width - 40, 25)) self.eventCity = UILabel(frame: CGRectMake(0, 0, 0, 0)) self.eventTime = UILabel(frame: CGRectMake(0, 0, 0, 0)) eventName.font = UIFont().fontWithSize(17.0) eventCity.font = UIFont().fontWithSize(14.0) eventTime.font = UIFont().fontWithSize(14.0) self.contentView.addSubview(eventName) self.contentView.addSubview(eventCity) self.contentView.addSubview(eventTime) } required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } override func layoutSubviews() { super.layoutSubviews() self.contentView.setNeedsLayout() self.contentView.layoutIfNeeded() } }