Всем доброго времени суток. Подскажите как реализовать такие ячейки, где есть изображение, на которых наложены нумерации как на картине. Спасибо
Наложение нумерации на изображение
поднимаю этот вопрос снова. надо не просто нумерацию поставить, а как на скрине, с обводской и со своим фоном.
Обводка круглая это cornerRadius. Например у вас есть вью, квадратный, приблизительный код(пишу по памяти):
myView.layer.cornerRadius = 25 //если вью 50х50
myView.layer.maskToBounds = true
myView.layer.borderWidth = 2 //ширина обводки
myView.layer.borderColor = UIColor.red.cgColor //цвет
Задний фон можно и через Interface Builder задать.
НО! когда нажимаю на ячейку, то view вместе с цифрой исчезает … в чем может быть проблема ?
вроде получилось как вы и сказали. но не красиво получаеться, когда нажимаешь на ячейку, а там никаких выделений нет))))
в StackOverflow нашел интересную статью и там использовали следующую строку кода для ячеек
cell.numertaionView.layer.backgroundColor = UIColor.clear.cgColor
хотя я этого и не хотел, у меня получаеться, как бы у ячейки прописан этот код. А есть что нибудь в противовес этому, чтобы не появлялась прозрачность ?
Вопрос решен следующим образом.
Есть изображения, на нее наложил UIView с размером 30-30, а в него вложил label, который будет выводить нумерацию ячеек. Так вот, создал отдельный TableViewCell для всех элементов ячеек, и для Outlet прописал следующее:
@IBOutlet weak var viewForNumeration: UIView! {
didSet {
viewForNumeration.layer.cornerRadius = viewForNumeration.frame.size.height / 2
viewForNumeration.layer.masksToBounds = true
viewForNumeration.layer.borderWidth = 1
viewForNumeration.layer.borderColor = UIColor(red:0.00, green:0.53, blue:0.75, alpha:1.00).cgColor
}
}
после этого, в функции setSelected
, прописал, чтобы его фон был белым и все.
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
viewForNumeration.layer.backgroundColor = UIColor(red:0.98, green:0.98, blue:1.00, alpha:1.00).cgColor
}
И все. НО! Если создать segue на другой View и оставить нажатым на ячейку, то фон все равно пропадает. без понятии в чем проблема
и да, белый цвет можно было написать просто так:
viewForNumeration.layer.backgroundColor = UIColor.white.cgColor