Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Xamarin.iOS - AutoLayout + iOS 9
Cyril
May 19, 2016
Programming
0
220
Xamarin.iOS - AutoLayout + iOS 9
Nouveautés d'AutoLayout avec iOS 9 :
- NSLayoutAnchor
- UILayoutGuide
- UIStackView
Cyril
May 19, 2016
Tweet
Share
More Decks by Cyril
See All by Cyril
Salut .NET 5, quoi de neuf ?
cyrilcathala
0
49
Annonces de la .NET Conf 2019
cyrilcathala
0
38
Build 2018 - Xamarin
cyrilcathala
1
28
Microsoft Build 2017 Mobile Wrap-Up
cyrilcathala
0
110
Mobile Deep Linking
cyrilcathala
0
77
Programmation Réactive - Reactive Extensions
cyrilcathala
0
62
Other Decks in Programming
See All in Programming
Swift Concurrencyによる安全で快適な非同期処理
tattn
2
130
Blazor WebAssembly – Dynamische Formulare und Inhalte in Aktion
patrickjahr
0
150
競プロへの誘 -いざな-
u76ner
0
330
Becoming an Android Librarian
skydoves
3
420
Nix for Scala folks
kubukoz
0
120
Language Summit 2022: WebAssembly: Python in the browser and beyond
tiran
2
310
クリエイティブ系のウェブサイト制作で役立つCSS技法 / CSS for develop creative website
clockmaker
2
1.3k
【PHPerKaigi2022】Mongo に溜まった約1.6億件の記事データを BigQuery へ …
userkazun
0
100
アプリのログをチーム外で活用してもらうためにやったこと
shotakashihara
0
120
Where and how to run UI tests (Droidcon Lisbon & Android Makers, Paris)
nonews
0
110
From Java 11 to 17 and beyond
josepaumard
0
290
職場にPythonistaを増やす方法
soogie
0
180
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
106
5.6k
What's new in Ruby 2.0
geeforr
336
30k
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.1k
From Idea to $5000 a Month in 5 Months
shpigford
372
44k
Raft: Consensus for Rubyists
vanstee
126
5.4k
We Have a Design System, Now What?
morganepeng
35
2.9k
Rebuilding a faster, lazier Slack
samanthasiow
62
7.2k
Infographics Made Easy
chrislema
233
17k
Why You Should Never Use an ORM
jnunemaker
PRO
47
5.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
314
19k
It's Worth the Effort
3n
172
25k
For a Future-Friendly Web
brad_frost
164
7.4k
Transcript
AUTOLAYOUT IOS 9 Meetup Cross-Platform Native Mobile Dev Cyril CATHALA
@CyrilCathala
84% des devices sous iOS 9 (9 mai 2016) iOS
9; 84% iOS 8; 11% Earlier; 5%
iOS 9 3D Touch SFSafariViewController Spotlight Contacts APIs UIKit
nouveautés du UIKIT
NSLAYOUTANCHOR UILAYOUTGUIDE UISTACKVIEW
API de contraintes avec NSLAYOUTANCHOR
J’ADORE CONSTRUIRE MES VUES ET CONTRAINTES VIA CODE, JE FAIS
ÇA PARTOUT ! Un développeur maso
OH NON, OBLIGÉ DE GÉRER MES CONTRAINTES DANS LE CODE
… Un développeur malchanceux
C’ÉTAIT MIEUX AVANT ?
NSLAYOUTCONSTRAINT var constraint = NSLayoutConstraint.Create( button2, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, button1, NSLayoutAttribute.Trailing,
1, 15); button1 button2 15
None
VISUAL FORMAT LANGUAGE (VFL) var constraints = NSLayoutConstraint.FromVisualFormat( @”H:|-[button1(==button2)]-15-[button2]-|", NSLayoutFormatOptions.AlignAllTop,
null, views); button1 button2 15
None
Qui dit mieux ? NSLAYOUTANCHOR !
var constraint = NSLayoutConstraint.Create( button2, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, button1, NSLayoutAttribute.Trailing, 1,
15); button2.LeadingAnchor.ConstraintEqualTo(button1.TrailingAnchor, 15);
DEMO TIME ! NsLayoutAnchor
meilleur agencement avec UILAYOUTGUIDE
JE VEUX CENTRER UN GROUPE DE VUES AU MILIEU DE
L’ÉCRAN ! Solution : Créer une UIView qui contient les vues, puis centrer la UIView
JE VEUX AJOUTER DES ESPACES DYNAMIQUES ENTRE MES VUES !
Solution : Créer des UIViews pour chaque espace, puis associer des contraintes
PROBLÈME : Ajout d’éléments inutiles dans la hiérarchie visuelle
UILAYOUTGUIDE N’intervient pas dans la hiérarchie visuelle ! Bémol :
pas dispo dans le designer
var guide = new UILayoutGuide(); View.AddLayoutGuide(guide); guide.LeadingAnchor .ConstraintEqualTo(View.LeadingAnchor) .Active =
true;
DEMO TIME ! UILayoutGuide
la révolution avec UISTACKVIEW
STACK VIEW Empile des vues Horizontal ou Vertical Basé sur
Auto Layout Imbricable !
ALIGNMENT SPACING DISTRIBUTION
DISTRIBUTION Fill FillEqually FillProportionnally EqualSpacing EqualCentering
ALIGNMENT Fill Center Leading Trailing Top Bottom
ALIGNMENT BASELINE FirstBaseline LastBaseline
WE FEEL THAT YOU CAN BUILD MOST OF YOUR USER
INTERFACES WITH STACK VIEWS, SO WE RECOMMEND STARTING WITH STACK VIEW AND USING CONSTRAINTS AS NEEDED. Jason Yao, Ingénieur Apple, WWDC 2015
DEMO TIME ! Stack View
APIS • AddArrangedSubview • RemoveArrangedSubview • Qui n’enlève pas de
l’arborescence visuelle ! • ArrangedSubviews • Compatible avec les animations
JE DOIS CIBLER IOS 7, JE SUIS TRISTESSE :’( Un
développeur malheureux
None
Mysteries of Auto Layout 1 & 2 https://developer.apple.com/videos/play/wwdc2015/218 Paul Hudson
sur Youtube Doc Xamarin https://developer.xamarin.com/guides/ios/platform_features/introductio n_to_ios9/uistackview
MERCI ! @CYRILCATHALA