CrashReportViewController.swift 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. //
  2. // CrashReportViewController.swift
  3. // Bark
  4. //
  5. // Created by huangfeng on 2023/9/18.
  6. // Copyright © 2023 Fin. All rights reserved.
  7. //
  8. import UIKit
  9. class CrashReportViewController: UIViewController {
  10. var crashLog = ""
  11. override func viewDidLoad() {
  12. super.viewDidLoad()
  13. self.overrideUserInterfaceStyle = .light
  14. self.view.backgroundColor = UIColor.white
  15. let warningIcon = UIImageView(image: UIImage(named: "warning"))
  16. self.view.addSubview(warningIcon)
  17. let crashedTitle = UILabel()
  18. crashedTitle.text = NSLocalizedString("crashed")
  19. crashedTitle.font = UIFont.boldSystemFont(ofSize: 30)
  20. crashedTitle.textColor = UIColor(r255: 239, g255: 77, b255: 77)
  21. self.view.addSubview(crashedTitle)
  22. let contentlabel = UITextView()
  23. contentlabel.backgroundColor = UIColor.clear
  24. contentlabel.isEditable = false
  25. contentlabel.dataDetectorTypes = [.link]
  26. contentlabel.isScrollEnabled = false
  27. contentlabel.textContainerInset = .zero
  28. contentlabel.textContainer.lineFragmentPadding = 0
  29. contentlabel.font = UIFont.systemFont(ofSize: 14)
  30. contentlabel.textColor = UIColor(r255: 51, g255: 51, b255: 51)
  31. contentlabel.text = NSLocalizedString("crashContent")
  32. self.view.addSubview(contentlabel)
  33. let copyButton = UIButton()
  34. copyButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
  35. copyButton.setTitleColor(UIColor.white, for: .normal)
  36. copyButton.setTitle(NSLocalizedString("copyCrashLog"), for: .normal)
  37. copyButton.backgroundColor = UIColor(r255: 239, g255: 77, b255: 77)
  38. copyButton.clipsToBounds = true
  39. copyButton.layer.cornerRadius = 6
  40. self.view.addSubview(copyButton)
  41. warningIcon.snp.makeConstraints { make in
  42. make.top.equalTo(kSafeAreaInsets.top + 60)
  43. make.left.equalTo(15)
  44. make.width.height.equalTo(42)
  45. }
  46. crashedTitle.snp.makeConstraints { make in
  47. make.left.equalTo(warningIcon.snp.right).offset(10)
  48. make.centerY.equalTo(warningIcon)
  49. }
  50. contentlabel.snp.makeConstraints { make in
  51. make.left.equalTo(20)
  52. make.right.equalTo(-20)
  53. make.top.equalTo(warningIcon.snp.bottom).offset(40)
  54. }
  55. copyButton.snp.makeConstraints { make in
  56. make.left.right.equalTo(contentlabel)
  57. make.top.equalTo(contentlabel.snp.bottom).offset(40)
  58. make.height.equalTo(44)
  59. }
  60. copyButton.rx.tap.subscribe { [weak self] _ in
  61. UIPasteboard.general.string = self?.crashLog
  62. ProgressHUD.inform(NSLocalizedString("Copy"))
  63. }.disposed(by: rx.disposeBag)
  64. }
  65. }