並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 11 件 / 11件

新着順 人気順

UIViewControllerの検索結果1 - 11 件 / 11件

  • Swift Concurrencyを利用した表示再開するUIViewControllerの実装 - Mirrativ Tech Blog

    こんにちは、クライアントエンジニアの竹澤(@to4iki)です。 iOSチームでは下記記事にある通り、チーム内でSwift Concurrencyに関してキャッチアップと知見の共有会を行っています。 本ブログでは、勉強会を通し既存実装をSwift Concurrencyを利用することで安全に簡潔に書き換えることができそうな箇所があったので、その実装例と、並行処理を表す Task に関して興味深い点を紹介します。 tech.mirrativ.stream tech.mirrativ.stream 置き換え対象の実装 任意の1トリガーに対して、複数の画面を表示するケースを考えてみます。 Mirrativアプリの場合、配信者が視聴者から受け取るギフトに応じて複数のランキングが上昇し、演出用の画面を表示するといった仕様があります。 以下コードのように、上から順に画面を表示する必要があるかを検証し、

      Swift Concurrencyを利用した表示再開するUIViewControllerの実装 - Mirrativ Tech Blog
    • UIViewControllerでもeditButtonItemを使いたい! - Qiita

      はじめに UITableViewController に編集ボタンを置く場合は下記のようにすると編集 -> 完了とかをいい感じに表示してくれます しかし、画面上に TableView だけでなく固定のフッターとかヘッダーを置きたい場合など UITableViewController だと難しい。。。で、いい感じにする方法はないかなと思って思いついたので書いてみます。 画面構成 画面構成は下記のように UIViewController に ContainerView を2つ置いて片方を UITableviewController にします。 方法1 UITableViewController から editButtonItem を取ってきて UIViewController に渡す! 実装はこんな感じ class FirstViewController: UIViewController {

        UIViewControllerでもeditButtonItemを使いたい! - Qiita
      • UIViewControllerのサブクラスのカスタムinitでsuper.initを呼べないのは何故ですか?

        なぜ、UIViewControllerはsuper.init()を呼べないのでしょうか? UIViewController.init()はdesignated initializer(指定イニシャライザ、または、指名イニシャライザ、と訳されることが多いようです)ではないからです。 Swiftのイニシャライザには小うるさい規則がいくつもあって、それらは緩いObjective-Cの世界とはうまく動かなかったりするのですが、ここら辺に明記してあります。 Class Inheritance and Initialization Initializer Delegation for Class Types Rule 1 A designated initializer must call a designated initializer from its immediate superclass.

          UIViewControllerのサブクラスのカスタムinitでsuper.initを呼べないのは何故ですか?
        • UIViewControllerのメモリ割り当てや解放処理一覧 - こんにちはこんにちはmonmonです!

          基本的な所を抑えていなかったのでiOS View Controllerプログラミングガイドのp.42から転記。 タスク メソッド 説明 View Controllerで必要な重要なデータ構造を割り当てる 初期化メソッド カスタム初期化メソッドには(initという名前であるか、それ以外の名前であるかに関わらず)、常にView Controllerオブジェクトを既知の適切な状態に設定する責任があります。これには、適切な操作を保証するために必要なあらゆるデータ構造の割り当てが含まれます。 ビューオブジェクトを作成する loadView プログラムによってビューを作成する場合にのみ、 loadViewメソッドのオーバーライドが必要になりま す。nibファイルからビューをロードする場合は、 initWithNibName: bundle:メソッドを使用して、適 切なnibファイルの情報を使用してVi

            UIViewControllerのメモリ割り当てや解放処理一覧 - こんにちはこんにちはmonmonです!
          • 【Swift4】UIViewControllerの表示画面を更新・リロードする - 開発ノート

            UIViewControllerの表示画面を更新・リロードしたい場面が出てきた。 例えばTableViewControllerであれば、TableView.reloadViewというメソッドで処理できるが、UIViewControllerにはそのようなメソッドは標準では用意されていない場合は、ViewDidLoad()を利用すれば良い。 表示内容を更新したいだけであれば self.ViewDidLoad() もしViewの生成からやり直す場合は self.loadView() self.ViewDidLoad() としてやれば良い。

              【Swift4】UIViewControllerの表示画面を更新・リロードする - 開発ノート
            • UIViewControllerのViewを他のUIViewControllerで表示させる

              以下のように、UIViewControllerのViewを他のUIViewControllerで使用したいという場面が出てきました。 今回はサンプルとして表示させたいUIViewControllerはViewAとし、使用したいUIViewControllerはViewBとします。 実装方法 viewBのインスタンスを作成ViewBをViewAの子として追加ViewBのviewをViewAのviewのsubviewに追加ViewBに対して処理の終了を通知する import UIKit // viewAにviewBを追加したい場合(同じstoryboard) class ViewA: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 1. ViewBのインスタンスを作成 let viewB = sto

                UIViewControllerのViewを他のUIViewControllerで表示させる
              • iOSアプリの基本設計を考える:「UIViewController」画面遷移(2) - Qiita

                クラスの定義にジェネリックスを使って結果を定義し、クロージャで返すという手法は、結果を無視したいUIViewControllerにも影響を与える(し見た目複雑)ためにあまり良くないなと感じたので、シンプルに実装できる方法に変更しました。 元の内容は残しておきます。 問題 iOSアプリの基本設計を考える:「UIViewController」画面遷移(1)では画面終了のクロージャについて描きました。ただ、このままでは少し困ったことがあります。 その画面、終了したことは分かったけど、結果はなんなの?と言うことです。 例えば下記のように「キャンセル」ボタンと「完了」ボタンがあった場合は、呼び出しもとは結果を知りたいですよね? Read Only変数で返す CoreViewControllerはそのままで変更しません。 import UIKit class CoreViewController: U

                  iOSアプリの基本設計を考える:「UIViewController」画面遷移(2) - Qiita
                • UIViewControllerからSwiftUIを表示 & SwiftUIからUIViewControllerを表示する方法を丁寧に解説|toconakis.tech

                  UIViewController画面からSwiftUI画面に遷移する方法 SwiftUI画面からUIViewController画面に遷移する方法 を解説していきます。 良くある内容なのですが、細かい所で足りない記事しか無いので、この記事だけで完結するよう丁寧に解説していきます。 UIViewController画面からSwiftUI画面に遷移する SwiftUIは、UIViewControllerのサブクラスであるUIHostingControllerでラッピングすれば、UIViewControllerとして扱うことができます。 import SwiftUI .... let viewController = UIHostingController(rootView: SwiftUIView()) self.navigationController?.pushViewController

                    UIViewControllerからSwiftUIを表示 & SwiftUIからUIViewControllerを表示する方法を丁寧に解説|toconakis.tech
                  • 【Swift】最前面のUIViewControllerを取得する方法 - Qiita

                    extension UIApplication { class func topViewController(controller: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController? { if let navigationController = controller as? UINavigationController { return topViewController(controller: navigationController.visibleViewController) } if let tabController = controller as? UITabBarController { if let selected = tabContr

                      【Swift】最前面のUIViewControllerを取得する方法 - Qiita
                    • 【swift】UIViewControllerのライフサイクル | 福岡で働くフリーランスエンジニア | kussuue

                      UIviewControllerのライフサイクル //インスタンス化された時に一度だけ呼ばれる。 override func viewDidLoad() { super.viewDidLoad() } //Viewが表示される直前に呼ばれる。 //Viewが表示されるたびに呼ばれる。 override func viewWillAppear(_ animated: Bool) { } //Viewが表示された直後に呼ばれる。 //Viewが表示されたたびに呼ばれる。 override func viewDidAppear(_ animated: Bool) { } //Viewが別画面に遷移する直前に呼ばれる。 //Viewが別画面に遷移するたびに呼ばれる。 override func viewWillDisappear(_ animated: Bool) { } //Viewが別画面に遷

                        【swift】UIViewControllerのライフサイクル | 福岡で働くフリーランスエンジニア | kussuue
                      • SwiftUI 環境で表示中のUIViewControllerを取得する - Qiita

                        概要 SwiftUIのプロジェクトで、現在フロントにあるUIViewControllerを手軽に取得する方法についてのTips SwiftUIとUIKitの連携 SwiftUIのViewとUIKit間での連携は UIHostingController UIViewRepresentable を使った方法がある。 ただ、SwiftUIのプロジェクトで外部ライブラリなど使用する場合に いま提示している「UIViewController」を渡すことが必要になるケースがある。 例えば、Googleの「UserMessagingPlatform」を使って ATT事前許諾プロンプトを提示する際に SwiftUIのコンテキスト上からライブラリ側にUIViewControllerを渡す必要がある。 方法は他にも色々ありそうだが、その時の対応メモ。 現在のUIViewControllerを探す 表示中のUI

                          SwiftUI 環境で表示中のUIViewControllerを取得する - Qiita
                        1