Browse Source

create items in the 'lazy' style to match overall project style; don't make me think :)

B. Petersen 2 years ago
parent
commit
f5c0a486ea

+ 11 - 8
deltachat-ios/Controller/QrPageController.swift

@@ -39,6 +39,16 @@ class QrPageController: UIPageViewController {
         return control
     }()
 
+    private lazy var moreButton: UIBarButtonItem = {
+        let image: UIImage?
+        if #available(iOS 13.0, *) {
+            image = UIImage(systemName: "ellipsis.circle")
+        } else {
+            image = UIImage(named: "ic_more")
+        }
+        return UIBarButtonItem(image: image, style: .plain, target: self, action: #selector(showMoreOptions))
+    }()
+
     init(dcAccounts: DcAccounts) {
         self.dcAccounts = dcAccounts
         self.dcContext = dcAccounts.getSelected()
@@ -55,6 +65,7 @@ class QrPageController: UIPageViewController {
         dataSource = self
         delegate = self
         navigationItem.titleView = qrSegmentControl
+        navigationItem.rightBarButtonItem = moreButton
 
         let qrController = QrViewController(dcContext: dcContext, qrCodeHint: qrCodeHint)
         setViewControllers(
@@ -63,14 +74,6 @@ class QrPageController: UIPageViewController {
             animated: true,
             completion: nil
         )
-
-        let image: UIImage?
-        if #available(iOS 13.0, *) {
-            image = UIImage(systemName: "ellipsis.circle")
-        } else {
-            image = UIImage(named: "ic_more")
-        }
-        self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: image, style: .plain, target: self, action: #selector(showMoreOptions))
     }
 
     override func viewWillAppear(_ animated: Bool) {

+ 11 - 8
deltachat-ios/Controller/QrViewController.swift

@@ -17,6 +17,16 @@ class QrViewController: UIViewController {
         return view
     }()
 
+    private lazy var moreButton: UIBarButtonItem = {
+        let image: UIImage?
+        if #available(iOS 13.0, *) {
+            image = UIImage(systemName: "ellipsis.circle")
+        } else {
+            image = UIImage(named: "ic_more")
+        }
+        return UIBarButtonItem(image: image, style: .plain, target: self, action: #selector(showMoreOptions))
+    }()
+
     var qrCodeHint: String {
         willSet {
             let svg = dcContext.getSecurejoinQrSVG(chatId: chatId)
@@ -43,14 +53,7 @@ class QrViewController: UIViewController {
         title = String.localized("qrshow_title")
         setupSubviews()
         view.backgroundColor = DcColors.defaultBackgroundColor
-
-        let image: UIImage?
-        if #available(iOS 13.0, *) {
-            image = UIImage(systemName: "ellipsis.circle")
-        } else {
-            image = UIImage(named: "ic_more")
-        }
-        self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: image, style: .plain, target: self, action: #selector(showMoreOptions))
+        navigationItem.rightBarButtonItem = moreButton
     }
 
     override func viewDidDisappear(_ animated: Bool) {