2017-02-12 17 views
0

У меня есть UIButton внутри моей ячейки вместе с изображением и текстовой меткой. Мне удается изменить изображение и метку программно, но UIButton, похоже, не реагирует ни на что, кроме isHidden. Это мой код, кнопка, которая не меняется в followButton:UIButton внутри ячейки таблицы не меняет атрибуты

import UIKit 

class ProfileTableCell: UITableViewCell { 

@IBOutlet weak var name: UILabel! 
@IBOutlet weak var profileImage: UIImageView! 

@IBOutlet weak var followButton: UIButton! 
override func awakeFromNib() { 
    super.awakeFromNib() 
    self.profileImage.layer.borderWidth = 0.0; 
    self.profileImage.layer.cornerRadius = self.profileImage.frame.size.width/2; 
    self.profileImage.clipsToBounds = true 
    self.profileImage.image = UIImage(named: "belt") 
    self.name.text = "Bar Refaeli" 
    self.followButton.layer.borderColor = UIColor.black.cgColor 
    self.followButton.layer.borderWidth = 3.0; 
    self.followButton.layer.cornerRadius = self.frame.size.width/4 
    self.followButton.backgroundColor = UIColor.black 
} 

func setCell(image: UIImage, name: String){ 

} 
override func setSelected(_ selected: Bool, animated: Bool) { 
    super.setSelected(selected, animated: animated) 

    // Configure the view for the selected state 
} 

} 

profileImage и название точек изменить внешний вид хорошо, как упоминалось выше. Я также попытался удалить кнопку и вернуть ее, очистить проект xcode, удалить ссылку на выход и снова подключить его. Довольно разочарованы.

Я также попытался изменить цвет фона кнопки через раскадровку, просто для тестирования, и это не изменит ее! что изменяет название titleLabel и цвет текста.

ответ

1

awakeFromNib() - Подготавливает приемник для обслуживания после его загрузки из архива построителя интерфейса или файла nib.

Учитывая, что, переместить код в инициирующей метод представления как viewDidLoad или viewDidAppear (_ :)

Дочерние объекты, которые являются атрибутами, как textLabels действовать иначе, чем просмотр дочерних объектов.

+0

Я попробую, как бы вы объяснили, что изменение цвета фона через раскадровку ничего не делает? – Sharonica

+0

Его когда вы его называете. Из-за иерархии представлений. В следующий раз, когда вы запустите его, выберите иерархию представления отладки и поверните раскадровку, чтобы понять, что я имею в виду. – mrabins

+0

Я все еще не решал это, но это, очевидно, направление, к которому я направляюсь, так что он решил его решить. – Sharonica

0

В конце концов я фактически решил это, отбросив табличный вид мусора и реализуя те же потребности, используя представление коллекции. там не было проблем.

+1

Хорошая работа, торчащая с ней! – mrabins