2017年12月07日

WWDC17 | Session 219 | Modern User Interaction on iOS

36:18
https://developer.apple.com/videos/play/wwdc2017/219/

iOSでのユーザー操作の現代的実装にはUIGestureRecognizerが多く使われている。UIGestureRecognizerの基本の復習とiOS11でのアップデート状況。

□基本

UITouch
UIGestureRecognizer

UITouchにより起動されたUIGestureRecognizerの内部状態がどのように変化して、ハンドラーにそれがどう伝達されるかをステップバイステップで図を使って解説。

began
ended
cancelled
moved
failed

等の内部イベント、

possible
failed

の内部状態について説明
続きを読む
posted by 永遠製作所 at 22:08| 東京 ☀| Comment(0) | WWDC | このブログの読者になる | 更新情報をチェックする

2017年12月03日

WWDC17 | Session 204 | Updating Your App for iOS 11

30:56
https://developer.apple.com/videos/play/wwdc2017/204/

iOS11で導入された新しい機能について述べる。

UIKitのbar(UIToolbar, UINavigationbar, UISearchbar)に関する機能。Scroll View, Table Viewなどで導入されたマージンと余白(インセット)の新機能。

■各種バー

□Tab Bar

横向き(Landscape)で小さなアイコンを表示。このアイコンが見にくい場合には、長押しでHUDでアイコン・テキストを表示する。→アクセシビリティのセッションで詳述

UIBarItem.landscapeImagePhone
UIBarItem.largeContentSizeImage

□Navigation Bar

・大きなタイトル文字表示

nagigationBarprefersLargeTitles = true
nagigationItem.largeTitleDisplayMode
Automatic, Never, Always

・検索窓用のコントローラー

nagigationItem.searchController
navigationItem.hidesSearchBarWhrnScrolling

・拡張レイアウト項目

UIToolbar and UINavigationBarで表示エリアを指定できる。

Demo 10:13〜

■Margins and Insets

layoutMargins .left .right
(新)directionallayoutMargins .trailing .leading
書籍アプリなどで左ページ、右ページでマージンが左右逆になるのを自動調整する時に有用。

systemMinimuLayoutMargins
viewRespectsSytemMinimumLayoutMargins = true

(新)SafeArea の導入で内側のビューのテキスト等の表示領域を限定できる。

□Scroll View

adjustedContentInset.top


□Table Views

Self-sizeing
Safe Area

(新)Swipe Actions
leading Swipe, trailing Swipe

Demo 24:03〜

posted by 永遠製作所 at 22:21| 東京 ☀| Comment(0) | WWDC | このブログの読者になる | 更新情報をチェックする

2017年12月01日

WWDC17 | Session 402 | What's New in Swift

59:29
https://developer.apple.com/videos/play/wwdc2017/402/

Swift4の更新情報

□アクセス制御

private
extension からのアクセス不可なので fileprivate を使う。(Swift3)。
→ SE-0169: Improve Interaction Between Private Declarations and Extensions
Swift4 は、privateのままで使える。

SE-0156: Class and Subtype Existentials

□Cocoa Idioms

下記など。紹介は省略し、別セッション(202 What's New in Foundation)で解説。

KeyPaths, Archival & Serialization, Encoder
SE-0161 Smart KeyPaths: Better Key-Value Coding for Swift SE-0166 Swift Archival & Serialization
SE-0167 Swift Encoders

□ソース互換性

Swift 3.2のソースをSwift4 でほとんどそのままコンパイル可能
移行ツールあり
ひとつのプロジェクトでターゲットごとに3.2/4 の切り替え可能
Package Support Swift Versionを記述

□ビルドの高速化、バイナリの効率化

New Build Systemを選択可能
Precompiled Header
Shared Build
Indexing While Building
COW Existential Buffers = COW(copy-on-write)
Faster Generic Code
Smaller Binaries
Unused Conformance Removal
@objc inference


□String

Unicode合成文字の比較
charactersカウンティング
charactesのコレクションをString自身がもつ
Owner Reference Count (Substring
String(_:Substring) copies the buffer
複数行文字列 = """

□New Generics

associatedtype
subscripts partioal range

□Standard Library の新機能

多数。詳細説明なし。

□Exclusive Access to memory

Ownership

ラベル:WWDC17 Swift String
posted by 永遠製作所 at 11:54| 東京 🌁| Comment(0) | WWDC | このブログの読者になる | 更新情報をチェックする

2017年11月30日

WWDC17 | Session 212 | What's New in Foundation

53:10
https://developer.apple.com/videos/play/wwdc2017/212/

iOS, macOS他のどのOSでも共通で使用するFoundation Frameworkの更新状況。

新しいAPIや速度等の改善、キーパス/キーバリュー監視、コード化の三つの話題。

■主な新規API

概要のみ。

□新機能
File provider communication
Improved available storage space API
Improved NSString ↔ Swift String range conversion Discrete NSProgress support in NSXPCConnection Thermal notifications on iOS

□速度向上
Copy-on-write NSArray, NSDictionary, NSSet
Data inlining
Faster calendrical calculations with lower peak memory Faster bridging of NSNumber to and from Swift

続きを読む
posted by 永遠製作所 at 20:05| 東京 ☁| Comment(0) | WWDC | このブログの読者になる | 更新情報をチェックする

2017年11月29日

WWDC17 | Session 810 | What's New in iOS11

8:47
https://developer.apple.com/videos/play/wwdc2017/810/

iOS11のデザイン上の変更点を短いビデオで解説している。フラットデザインで導入されたデザイン哲学はコンテンツファースト。コンテンツを目立たせるためにUI 要素を目立たなくしたが、ナビゲーションなど不備な部分を修正している。

Wayfinding
Typographic Hierarchy
Contrast

□Wayfinding
Large Titleなどを導入。ラベル表示の差別化をできるようにしている。
Large TitleはナビゲーションTop levelを強調するなどに使用できる。

□Typographic Hierarchy
ラベルを二つ並べるにしても重要性は同一ではないはず、これをわかりやすくするために、Size, Weight, Colorなどで判断できるようにする。

iOS10とiOS11のApple標準のアプリ(写真、天気等)で違いを比較。


posted by 永遠製作所 at 20:31| 東京 ☀| Comment(0) | WWDC | このブログの読者になる | 更新情報をチェックする