All Projects → fumiyasac → ios_ui_recipe_showcase

fumiyasac / ios_ui_recipe_showcase

Licence: other
iOSアプリ開発 - UI実装であると嬉しいレシピブック掲載サンプル

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to ios ui recipe showcase

Mylinearlayout
MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. So you can use LinearLayout,RelativeLayout,FrameLayout,TableLayout,FlowLayout,FloatLayout,PathLayout,GridLayout,LayoutSizeClass to build your App 自动布局 UIView UITab…
Stars: ✭ 4,152 (+7588.89%)
Mutual labels:  uitableview, uicollectionview, xib, storyboard, autolayout
Gskstretchyheaderview
A generic stretchy header for UITableView and UICollectionView
Stars: ✭ 1,624 (+2907.41%)
Mutual labels:  uitableview, uicollectionview, uikit, interface-builder
Tangramkit
TangramKit is a powerful iOS UI framework implemented by Swift. It integrates the functions with Android layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. So you can use LinearLayout,RelativeLayout,FrameLayout,TableLayout,FlowLayout,FloatLayout,LayoutSizeClass to build your App 自动布局 UIView UITableView UICollectionView
Stars: ✭ 984 (+1722.22%)
Mutual labels:  uitableview, uicollectionview, storyboard, autolayout
Basecomponents
BaseComponents aims to provide easily reusable and understandable components to increase productivity with UIKit and Foundation APIs
Stars: ✭ 92 (+70.37%)
Mutual labels:  uitableview, uicollectionview, uikit, autolayout
ScrollAnimationShowcase
[ING] - UIScrollViewやUICollectionViewの特性を活用した表現サンプル
Stars: ✭ 15 (-72.22%)
Mutual labels:  uicollectionview, uipageviewcontroller, containerview
Squaremosaiclayout
An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations 🔶
Stars: ✭ 243 (+350%)
Mutual labels:  uitableview, uicollectionview, uikit
Wlemptystate
WLEmptyState is an iOS based component that lets you customize the view when the dataset of a UITableView or a UICollectionView is empty. We created a sample project with the WLEmptyState component to show how you can use it.
Stars: ✭ 305 (+464.81%)
Mutual labels:  uitableview, uicollectionview, uikit
PagedLists
Paginated UITableView and UICollectionViews for iOS.
Stars: ✭ 69 (+27.78%)
Mutual labels:  uitableview, uicollectionview, swift5
Cards
Awesome iOS 11 appstore cards in swift 5.
Stars: ✭ 4,017 (+7338.89%)
Mutual labels:  uikit, storyboard, swift5
Uitableviewdynamiclayoutcacheheight
🖖高性能的自动计算采用 Autolayout 布局的 UITableViewCell 和 UITableViewHeaderFooterView 的高度,内部自动管理高度缓存。
Stars: ✭ 360 (+566.67%)
Mutual labels:  uitableview, uicollectionview, autolayout
StackableTableView
A UITableView subclass that enables setting an array of views for both headers and footers utilizing UIStackView
Stars: ✭ 72 (+33.33%)
Mutual labels:  uitableview, uikit, autolayout
TinderUISamples
[ING] - TinderのようなUIを様々な実装で実現してみる
Stars: ✭ 30 (-44.44%)
Mutual labels:  uicollectionview, uikit, tinder-ui
Cyltabbarcontroller
[EN]It is an iOS UI module library for adding animation to iOS tabbar items and icons with Lottie, and adding a bigger center UITabBar Item. [CN]【中国特色 TabBar】一行代码实现 Lottie 动画TabBar,支持中间带+号的TabBar样式,自带红点角标,支持动态刷新。【iOS13 & Dark Mode & iPhone XS MAX supported】
Stars: ✭ 6,605 (+12131.48%)
Mutual labels:  uikit, xib, storyboard
Uicollectionview Layouts Kit
📐 A set of custom layouts for UICollectionView with examples [Swift 5.3, iOS 12].
Stars: ✭ 410 (+659.26%)
Mutual labels:  uicollectionview, uikit, autolayout
Color Picker For Ios
Colorful: iOS color picker built with Swift.
Stars: ✭ 709 (+1212.96%)
Mutual labels:  uikit, interface-builder, autolayout
Owl
A declarative type-safe framework for building fast and flexible lists with UITableViews & UICollectionViews
Stars: ✭ 423 (+683.33%)
Mutual labels:  uitableview, uicollectionview, uikit
Stevia
🍃 Concise Autolayout code
Stars: ✭ 3,182 (+5792.59%)
Mutual labels:  xib, storyboard, autolayout
Viewanimator
ViewAnimator brings your UI to life with just one line
Stars: ✭ 6,592 (+12107.41%)
Mutual labels:  uitableview, uicollectionview, uikit
Pagingkit
PagingKit provides customizable menu UI. It has more flexible layout and design than the other libraries.
Stars: ✭ 1,030 (+1807.41%)
Mutual labels:  uitableview, uicollectionview, uikit
Flowkit
A declarative type-safe framework for building fast and flexible list with Tables & Collection
Stars: ✭ 215 (+298.15%)
Mutual labels:  uitableview, uicollectionview, autolayout

[技術書典5] iOSアプリ開発 - UI実装であると嬉しいレシピブックに掲載するサンプル

1. 概要

こちらは、上記書籍にて紹介しているサンプルを収録したリポジトリになります。書籍内で解説の際に利用したサンプルコードの完成版のプロジェクトがそれぞれの章毎にありますので、書籍内の解説をより詳細に理解する際や開発中のアプリにおける実装時の参考等にご活用頂ければ嬉しく思います。

2. サンプル図解

こちらはの書籍で紹介しているサンプルにおける概略図になります。

⭐️第1章サンプル:

この章では複数のContainerViewを組み合わせてスライドメニューのようなViewとコンテンツの切り替えを行う部分に関して解説をしていきます。 メニューの開閉や現在表示している画面からの切り替えに関する部分はコンテンツ量が多くなるようなアプリではよくお目にかかる部分ではあるものの、いざ自前で実装しようとするとなかなか大変な部分の1つかと思います。

第1章サンプル図

⭐️第2章サンプル:

この章ではCustomTransition(カスタムトランジション)による画面遷移に一工夫を加えて遷移前後の画面表示と組み合わせた実装例を解説をしていきます。加えて今回はメディアないしは読み物系のコンテンツを表示しているアプリなどでよくお目にかかるUI表現を含んだ画面と合わせて、遷移の繋ぎ目部分の表現をできるだけ自然な形にするための考慮を行なっています。カスタムトランジションについては、iOSでお目にかかる画面遷移の表現をカスタマイズできるのでUI表現にこだわったアプリを作る際には重宝するテクニックの1つかと思います。

第2章サンプル図

⭐️第3章サンプル:

この章ではGestureRecognizerによる指の動きを利用した実装例として、人気アプリ「Tinder」でも使われている「好き」or「嫌い」(Yes or No)を左右のスワイプで答えるようなUIの実装に関して解説をしていきます。 今回はシンプルにカード風のUIを左右にスワイプして画面から消す動きまでの動きを再現した実装になりますが、この形のUIはマッチングアプリをはじめとするユーザーのカジュアルな選択を促すためのUIとして、同様な動きを表現するためのUIライブラリについても数多くあることからも、その心理的な効果や応用可能性への関心が高いことが伺えるかと思います。

第3章サンプル図

⭐️第4章サンプル:

この章ではユーザーの情報入力を伴うようなUI実装についての解説をしていきます。この章で解説しているサンプルについては、これまでの章で紹介したサンプルよりもUI表現に関する実装は少なめではありますが、ユーザーの情報入力に関する考慮という点や部品となるViewの再利用と処理の橋渡しについての考慮と言う点に重点を置いたサンプルになります。愚直に実装してしまうと煩雑なコードやUI構造になってしまいがちな部分ですが、ユーザーとの接点にもなる大切な部分ですので、UIのわかりやすさと実装のしやすさを両立した実装が求められる奥が深い例の1つだと思います。

第4章サンプル図

3. その他サンプルに関することについて

【お知らせ: サンプルのバージョンアップ対応について】

2020.12.19時点での収録サンプルのリポジトリに関しては下記のバージョンで実装したものになっております。

  • macOS Big Sur 11.1
  • Xcode 12.3
  • Swift 5.3
  • CocoaPods 1.10.0

【Podfileの記載変更について】

◎ 第2章のサンプルでのPodfile

target 'InteractiveUIExample' do
  use_frameworks!

  # Pods for InteractiveUIExample
  pod 'Cosmos'
  pod 'ActiveLabel'
  pod 'FontAwesome.swift'
end

◎ 第4章のサンプルでのPodfile

target 'ReservationFormExample' do
  use_frameworks!

  # Pods for ReservationFormExample
  pod 'KYNavigationProgress'
  pod 'Popover'
  pod 'FontAwesome.swift'
end

post_install do |installer|  
  installer.pods_project.targets.each do |target|
    # KYNavigationProgressのSwiftバージョンは4.0へ固定
    if ['KYNavigationProgress'].include? target.name
      target.build_configurations.each do |config|
        config.build_settings['SWIFT_VERSION'] = '4.0'
      end
    end
  end
end

【Swift4.2 → Swift5.0.1へのバージョンアップにおける記載変更について】

基本的には、ライブラリのバージョンアップ以外では大きな変更点はございませんでしたが、下記の部分が変更されています。 (Beforeのままでもエラーにはなりませんが、警告が出てしまいます。)

# 第4章においてUIPageViewControllerDataSourceを利用した実装部分の変更

◉ Before:
guard let index = targetViewControllerLists.index(of: viewController) else {
↓
◉ After:
guard let index = targetViewControllerLists.firstIndex(of: viewController) else {

【iOS13 & Xcode11.1へのバージョンアップにおいてこのサンプルで触れていない部分】

本サンプルでは下記の部分に関しては、今回は対応していませんのでご注意下さい。

  • DarkModeの無効化(現在は強制的にLightModeにしています。)
  • SceneDelegateは利用しない従来のAppDelegateの利用(現状は挙動に問題はありませんが非推奨です。)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].