FaqDetail.swift 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. //
  2. // FaqDetail.swift
  3. // Sirani
  4. //
  5. // Created by Anhar Solehudin on 14/11/20.
  6. // Copyright © 2020 Anhar Solehudin. All rights reserved.
  7. //
  8. import UIKit
  9. class FaqDetailVC: UIViewController {
  10. @IBOutlet weak var lblQuestion: UILabel!
  11. @IBOutlet weak var lblAnswer: UILabel!
  12. // Public Variable, Use by Segue
  13. var faqContent: FaqContent? = nil
  14. // View Lifecycles
  15. override var preferredStatusBarStyle: UIStatusBarStyle {
  16. return .lightContent
  17. }
  18. override func viewDidLoad() {
  19. super.viewDidLoad()
  20. if faqContent != nil {
  21. lblQuestion.text = faqContent?.faq_essay_question
  22. lblAnswer.text = faqContent?.faq_essay_answer.htmlToString
  23. }
  24. }
  25. override func viewWillAppear(_ animated: Bool) {
  26. AppUtility.lockOrientation(.portrait)
  27. }
  28. override func viewWillDisappear(_ animated: Bool) {
  29. AppUtility.lockOrientation(.all)
  30. }
  31. @IBAction func onBackTapped(_ sender: Any) {
  32. performSegue(withIdentifier: "unwindFaqDetailToFaqList", sender: self)
  33. }
  34. }
  35. extension String {
  36. var htmlToAttributedString: NSAttributedString? {
  37. guard let data = data(using: .utf8) else { return nil }
  38. do {
  39. return try NSAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.html, .characterEncoding:String.Encoding.utf8.rawValue], documentAttributes: nil)
  40. } catch {
  41. return nil
  42. }
  43. }
  44. var htmlToString: String {
  45. return htmlToAttributedString?.string ?? ""
  46. }
  47. }