swift4」カテゴリーアーカイブ

PopoverⅡ(UIPresentationController)

平成30年4月7日(土曜日)

完動!! Swift 3.2 error無く Swift 4.にverup
iOS Tutorial: How to make a customizable interactive slide-out menu in Swift
github
/InteractiveSlideOutMenu
↓のリンクから「Tutorials」を辿ってダウンロード。。


完動!! Updated to Swift 4.
★★containerView: Think of this as the device window, or the stage on which the animation plays.
「containerView:これはデバイスウィンドウ、またはアニメーションが再生されるステージと考えることができます。」
iOS Tutorial: How to close a modal by dragging it down
プロジェクト名 InteractiveModal.xcodeproj github


旧バージョン error多数 プロジェクト名 RPModalGestureTransition-master
UIPercentDrivenInteractiveTransitionを使ってModalをDismissする


仕組みの理解(Objective-C)
UINavigationController上でのアニメーション
[Objective-C] UIViewControllerの遷移をカスタマイズする

画像がズームインしながら画面遷移するSwiftライブラリを公開しました

popoverⅡ

平成30年4月4日(水曜日)

Swiftで遊ぼう! – 278 – ポップオーバー(popover)の考察

平成30年3月31日(土曜日)

現段階★★★SWIFT4 動作確認 STORYBOARD + 若干のCODE(簡便)popoverPresentationController利用!!
Popoverを表示

平成30年3月18日(日曜日)

Popoverの2つの実装方法を比較する
folder DownLoad_DEMO内に →  HowToDisplayPopover-master として保存

UIPresentationController

平成30年4月3日(火曜日)

UIPresentationController解析

ViewController
..UIViewControllerTransitioningDelegate(HalfModalTransitioningDelegate)
….. HalfModalTransitioningDelegate init(元view、先view)
………① animation HalfModalTransitionAnimator
………② presentationController HalfModalPresentationController
………③ interaction 対話 interactionController

PopoverⅠ(UIPresentationController)

平成30年4月6日(金曜日)

swift4版 検索キーワード(Interactive Transitions in Swift)
実行可!!
iOS 11 and Swift 4
Custom UIViewController Transitions: Getting Started
プロジェクト名 GuessThePet-starter
プロジェクト名 GuessThePet-final
何れもswift4 そのまま動作!!
interactiveTransitioning

平成30年4月4日(水曜日)

apple
apple
トランジションアニメーションをカスタマイズする
Gromview Toview Presentedview

英文説明チュートリアル(ソース有りerror多し プロジェクト無し)
The Step by Step Guide to Custom Presentation Controllers

実行可!!
UIPresentationController Tutorial: Getting Started
ダウンロードプロジェクト名 MedalCount Completed & MedalCount Starter

その他参考 (但しswift3への要コンバート DemosForBlog-master(CustomPresentation)残念ながら、コンバートにて多数のerror!!)
How to use custom presentation

平成30年4月1〜2日(日曜日 月曜日)

現段階★★★サンプル(swift 3.2)swift4にても、error無く動作
HalfModalPresentationController
ソース(上と同じもの+エトセトラソース 日付新しい)
HalfModalPresentationController.swift

最も新しいと思われるリンクとソース
Animating changes to presentingViewController during interactive dismissal
更にリンクをたどると。。。
interactive-parent-transform-bug
プロジェクト名 interactive-parent-transform-bug-master
UIPercentDrivenInteractiveTransitionを継承したinteractiveTransitioning
UIPanGestureRecognizerを使用したもので、技術的に押さえておきたい事項!!
interactiveTransitioning


        presentingViewController.transitionCoordinator?.animateAlongsideTransition({ context in
            self.setScale(expanded: true)
        }, completion: { context in
            self.setScale(expanded: !context.isCancelled())
        })
    }
    
    override func dismissalTransitionWillBegin() {
        presentingViewController.transitionCoordinator?.animateAlongsideTransition({ context in
            self.setScale(expanded: false)
        }, completion: { context in
            self.setScale(expanded: context.isCancelled())
        })
    }

Missing argument for parameter 'animation' in call
UIPercentDrivenInteractiveTransition interaction controller.に移行か、保留。
試行錯誤するも、完全動作に至らず。

↑の参考リンク
UIKitにある機能でWebで見かけるようなUI達を作る
context.isCancelled
Animating changes to presentingViewController during interactive dismissal

Interestingly, on iOS 11.x animate(alongsideTransition:completion:) works correctly for presentingViewController too (there is no need to use animateAlongsideTransition(in:animation:completion:)) - looks like Apple lifted something under the hood in the latest iOS.

更にキーワード三つ
[iOS]Twitterっぽい画像の閉じ方を実装してみる
↑source code developed with Swift 2.x. Xcode 9 does not support building or migrating Swift 2.x targets.
①UIViewControllerTransitioningDelegate(この中で、以下二点を利用)
②UIViewControllerAnimatedTransitioning(遷移のアニメーション)
③UIPercentDrivenInteractiveTransition(遷移の進行率・程度 percentComplete)


参考リンク swift2 old error
iOS8 presentation controllers
Xcode 8 Swift 3: Modal presentation transitioning delegate not called

下の参考リンク三点(日本語)ヴァージョンが古く動作せずも、仕組み等についてわかりやすい日本語による説明有り。
[iOS 8] UIPresentationController でカスタムのモーダル表示を実装する
プロジェクト名 SamplePresentation
SwiftでTumblrのリアクションみたいにモーダルウィンドウがにゅっと出るやつを作る
【iOS】Swipeで簡単に戻れるNavigationControllerを作ってみた


順序として、

①UIViewControllerTransitioningDelegate デリゲート

②UIPresentationController実装
func presentationControllerForPresentedViewController(presented: UIViewController, presentingViewController presenting: UIViewController!, sourceViewController source: UIViewController) -> UIPresentationController? {
return CustomPresentationController(presentedViewController:presented, presenting: presenting)
}

③class CustomPresentationController: UIPresentationController {

// 呼び出し元の View Controller の上に重ねるオーバーレイ View
var overlay: UIView!
・・・
}


UIPopoverController is deprecated in iOS 9.

下記リンク抜粋
//
UIPresentationController は抽象クラス
この抽象クラスを実装することで自由な表示・アニメーションのモーダルが実現される。
上記 UIPopoverController の代替として UIPopoverPresentationControllerが実装クラスとして提供される。
//

平成30年3月31日(土曜日)

現段階★★★SWIFT4 動作確認 STORYBOARD + 若干のCODE(簡便)popoverPresentationController利用!!
Popoverを表示

平成30年3月18日(日曜日)

Popoverの2つの実装方法を比較する
folder DownLoad_DEMO内に →  HowToDisplayPopover-master として保存

平成30年3月17日(土曜日)

取り敢えず、ここから学習か
Popoverの2つの実装方法を比較する
新:popoverPresentationController(forecasterplus導入済み)
旧:UIPopoverController’ was deprecated in iOS 9.0

検索エトセトラ(モーダルウィンドウ、addsubview等など、それぞれ有用か)
検索結果

要検討
[swift] PopoverPresentationControllerの実装とタップした時にメインViewにタップ情報を反映させる方法

swift4 collectionview tapped

UIStackView

平成30年3月30日(金曜日)

★Expandable cells with stack view

github:
★expandable-cells-medium(github)

最後に、スタックビューに2つ以上のビューを配置し、必要に応じて外観をカスタマイズする必要があります。 あなたが従わなければならないパターンは、最初のビューが常にユーザーに見える折り畳まれたビューであるということです。 重要なのは、折りたたまれたビューに高さを設定することです。 私の場合、これは50ですが、より大きな折りたたみセルを作成したい場合は、別の値を設定する必要があります。
スタックビューを使用して、サブビューの高さや幅を手動で変更している間は、このコントロールを適切に設定することを忘れないでください。 私のセルの例は次のとおりです。

現時点でビュー設定を終了すると、セルを展開したときに「制約を同時に満たすことができません。」というメッセージがコンソールに表示されているのを見ると、おそらく失望します。 理由はシンプルです。隠れたビューの高さの制約は0なので、セルを展開するとスタックビュー全体の高さに矛盾が生じます。 幸いにも、修正は非常に簡単です。 折りたたみビューの高さの制約を999に変更するだけです。


UIStackView guide:
https://www.raywenderlich.com/114552/uistackview-tutorial-introducing-stack-views

UITableView guide: https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/TableView_iPhone/CreateConfigureTableView/CreateConfigureTableView.html


[iOS 9] UIStackViewを知らない人向けの基礎知識
↑「SubViewsの数を変化させる」(arrangedSubviews)
「下記イメージのようにボタンを押した時にSubViewの数を変更させるには、hiddenを切り替えるだけで自動的に最適なレイアウトになります他エトセトラ」