| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- //
- // HomeNewsCell.swift
- // Sirani
- //
- // Created by Anhar Solehudin on 06/04/19.
- // Copyright © 2019 Anhar Solehudin. All rights reserved.
- //
- import UIKit
- class HomeNewsCell: UITableViewCell {
-
- @IBOutlet weak var lblTitle: UILabel!
- @IBOutlet weak var lblDate: UILabel!
- @IBOutlet weak var lblPreContent: UILabel!
- @IBOutlet weak var thumbImageView: UIImageView!
-
- override func awakeFromNib() {
- super.awakeFromNib()
-
- self.selectionStyle = .none
- self.backgroundColor = .clear
-
- contentView.backgroundColor = .white
- contentView.layer.cornerRadius = 14
- contentView.layer.shadowColor = UIColor.black.cgColor
- contentView.layer.shadowOffset = CGSize(width: 0, height: 2)
- contentView.layer.shadowRadius = 5
- contentView.layer.shadowOpacity = 0.07
- contentView.layer.masksToBounds = false
-
- thumbImageView.layer.cornerRadius = 10
- thumbImageView.clipsToBounds = true
-
- lblTitle.font = UIFont.systemFont(ofSize: 14, weight: .bold)
- lblTitle.textColor = UIColor.siraniTextPrimary
-
- lblDate.font = UIFont.systemFont(ofSize: 11, weight: .semibold)
- lblDate.textColor = UIColor.siraniPrimaryBlue
-
- lblPreContent.font = UIFont.systemFont(ofSize: 12, weight: .regular)
- lblPreContent.textColor = UIColor.siraniTextSecondary
- }
-
- override func layoutSubviews() {
- super.layoutSubviews()
- contentView.frame = contentView.frame.inset(by: UIEdgeInsets(top: 5, left: 16, bottom: 5, right: 16))
- }
-
- func updateViews(news: News) {
- let url = news.thumb_filename.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!
- thumbImageView.loadFrom(URLAddress: url)
- lblTitle.text = news.title_news
- lblDate.text = news.dateNew()
- lblPreContent.text = news.pra_news
- }
- }
- extension UIImageView {
- func loadFrom(URLAddress: String) {
- guard let url = URL(string: URLAddress) else {
- return
- }
-
- URLSession.shared.dataTask(with: url) { [weak self] data, response, error in
- if let error = error {
- print("Error loading image: \(error.localizedDescription)")
- return
- }
- guard let data = data, let loadedImage = UIImage(data: data) else { return }
-
- DispatchQueue.main.async {
- self?.image = loadedImage
- }
- }.resume()
- }
- }
|