SlideShare a Scribd company logo
Desenvolvimento de
aplicativos mobile para iOS
    Aula 4 - Conhecendo alguns componentes
Componentes

•UIImageView
•UIScrollView
•UIWebView
UIImageView
             • Mostrar uma imagem ou uma série animada
                  de imagens




http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIImageView_Class/Reference/Reference.html
- (id)initWithImage:(UIImage *)image
@property(nonatomic, retain) UIImage *image

- (void)startAnimating
- (void)stopAnimating
@property(nonatomic) NSTimeInterval animationDuration
@property(nonatomic, copy) NSArray *animationImages
@property(nonatomic) NSInteger animationRepeatCount

@property(nonatomic, getter=isHighlighted) BOOL
highlighted
@property(nonatomic, retain) UIImage *highlightedImage
UIImage
              • Objeto de alto nível para exibir imagens
              • As instâncias são imutáveis
              • Provê várias formas de exibir imagens



http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImage_Class/Reference/Reference.html#//apple_ref/
                                       occ/instm/UIImage/resizableImageWithCapInsets:
+ (UIImage *)imageNamed:(NSString *)name
+ (UIImage *)imageWithContentsOfFile:(NSString *)path
+ (UIImage *)imageWithData:(NSData *)data
+ (UIImage *)animatedImageWithImages:(NSArray *)images
duration:(NSTimeInterval)duration

- (UIImage *)resizableImageWithCapInsets:
(UIEdgeInsets)capInsets
Convenção de nomes

• Padrão:
  <ImageName><device_modifier>.<filename_extension>


• Alta resolução:
  <ImageName>@2x<device_modifier>.<filename_extension>


• Exemplos:   Button.png, Button~ipad.png,
  Button@2x~ipad.png, Button@2x~iphone.png

  [UIImage:imageNamed:@"Button"]
Demo
UIScrollView

           • Provê suporte para exibir conteúdos que
                são maiores que a área de exibição da tela
           • Permite ao usuário rolar a tela usando
                “Swiping Gestures” e dar zoom usando
                “Pinching Gestures”


http://developer.apple.com/library/ios/#DOCUMENTATION/WindowsViews/Conceptual/UIScrollView_pg/Introduction/
                             Introduction.html#//apple_ref/doc/uid/TP40008179-CH1-SW1
scrollView.contentSize = CGSizeMake(1920, 1080);
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
    return self.imageView;
}
Demo
UIWebView

         • Componente para embutir conteúdo da
               web no aplicativo
         • Por padrão, um web view converte
               números de telefone para links




http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWebView_Class/Reference/Reference.html
- (void)loadRequest:(NSURLRequest *)request
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL
*)baseURL

@property(nonatomic, assign) id<UIWebViewDelegate>
delegate

-   (void)stopLoading
-   (void)reload
-   (void)goBack
-   (void)goForward

- (NSString *)stringByEvaluatingJavaScriptFromString:
(NSString *)script
UIWebViewDelegate

  - (BOOL)webView:(UIWebView *)webView
  shouldStartLoadWithRequest:(NSURLRequest *)request
  navigationType:
  (UIWebViewNavigationType)navigationType
- (void)webViewDidStartLoad:(UIWebView *)webView
- (void)webViewDidFinishLoad:(UIWebView *)webView
- (void)webView:(UIWebView *)webView
didFailLoadWithError:(NSError *)error
Usando...

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    NSURLRequest* request = [NSURLRequest requestWithURL:
                               [NSURL URLWithString:textField.text]];
    [self.webView loadRequest:request];
    [textField resignFirstResponder];
    return YES;
}
Demo

More Related Content

What's hot

YUI - HackU 2010 IIT Mumbai
YUI - HackU 2010 IIT MumbaiYUI - HackU 2010 IIT Mumbai
YUI - HackU 2010 IIT Mumbai
knutties
 
Responsive Web Design e a Ubiquidade da Web
Responsive Web Design e a Ubiquidade da WebResponsive Web Design e a Ubiquidade da Web
Responsive Web Design e a Ubiquidade da Web
Eduardo Shiota Yasuda
 
Modular and Event-Driven JavaScript
Modular and Event-Driven JavaScriptModular and Event-Driven JavaScript
Modular and Event-Driven JavaScript
Eduardo Shiota Yasuda
 
以Vue開發電子商務網站
架構與眉角
以Vue開發電子商務網站
架構與眉角以Vue開發電子商務網站
架構與眉角
以Vue開發電子商務網站
架構與眉角
Mei-yu Chen
 
Topic Maps to describe a gui to be used to edit a topic map
Topic Maps to describe a gui to be used to edit a topic mapTopic Maps to describe a gui to be used to edit a topic map
Topic Maps to describe a gui to be used to edit a topic map
tmra
 
Lightning Talk: Making JS better with Browserify
Lightning Talk: Making JS better with BrowserifyLightning Talk: Making JS better with Browserify
Lightning Talk: Making JS better with Browserify
crgwbr
 
从YUI2到YUI3看前端的演变
从YUI2到YUI3看前端的演变从YUI2到YUI3看前端的演变
从YUI2到YUI3看前端的演变
Kejun Zhang
 
Advance text rendering in i os
Advance text rendering in i osAdvance text rendering in i os
Advance text rendering in i osConfiz
 
Features++
Features++Features++
Features++
Mediacurrent
 
CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложения
CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложенияCodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложения
CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложенияCodeFest
 
Browserify
BrowserifyBrowserify
Browserify
davidchubbs
 
18. images in symfony 4
18. images in symfony 418. images in symfony 4
18. images in symfony 4
Razvan Raducanu, PhD
 
An introduction to the create js suite
An introduction to the create js suiteAn introduction to the create js suite
An introduction to the create js suite
Scott Ackerman
 
dojo.Patterns
dojo.Patternsdojo.Patterns
dojo.Patterns
Peter Higgins
 
俩控件
俩控件俩控件
俩控件
bang590
 
Your first d8 module
Your first d8 moduleYour first d8 module
Your first d8 module
tedbow
 
Drush - use full power - DrupalCamp Donetsk 2014
Drush - use full power - DrupalCamp Donetsk 2014Drush - use full power - DrupalCamp Donetsk 2014
Drush - use full power - DrupalCamp Donetsk 2014
Alex S
 
A nodejs application
A nodejs applicationA nodejs application
A nodejs application
Robbie Clutton
 
Angular module
Angular moduleAngular module
Angular module
LearningTech
 
Famo.us - New generation of HTML5 Web Application Framework
Famo.us - New generation of HTML5 Web Application FrameworkFamo.us - New generation of HTML5 Web Application Framework
Famo.us - New generation of HTML5 Web Application Framework
Hina Chen
 

What's hot (20)

YUI - HackU 2010 IIT Mumbai
YUI - HackU 2010 IIT MumbaiYUI - HackU 2010 IIT Mumbai
YUI - HackU 2010 IIT Mumbai
 
Responsive Web Design e a Ubiquidade da Web
Responsive Web Design e a Ubiquidade da WebResponsive Web Design e a Ubiquidade da Web
Responsive Web Design e a Ubiquidade da Web
 
Modular and Event-Driven JavaScript
Modular and Event-Driven JavaScriptModular and Event-Driven JavaScript
Modular and Event-Driven JavaScript
 
以Vue開發電子商務網站
架構與眉角
以Vue開發電子商務網站
架構與眉角以Vue開發電子商務網站
架構與眉角
以Vue開發電子商務網站
架構與眉角
 
Topic Maps to describe a gui to be used to edit a topic map
Topic Maps to describe a gui to be used to edit a topic mapTopic Maps to describe a gui to be used to edit a topic map
Topic Maps to describe a gui to be used to edit a topic map
 
Lightning Talk: Making JS better with Browserify
Lightning Talk: Making JS better with BrowserifyLightning Talk: Making JS better with Browserify
Lightning Talk: Making JS better with Browserify
 
从YUI2到YUI3看前端的演变
从YUI2到YUI3看前端的演变从YUI2到YUI3看前端的演变
从YUI2到YUI3看前端的演变
 
Advance text rendering in i os
Advance text rendering in i osAdvance text rendering in i os
Advance text rendering in i os
 
Features++
Features++Features++
Features++
 
CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложения
CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложенияCodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложения
CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложения
 
Browserify
BrowserifyBrowserify
Browserify
 
18. images in symfony 4
18. images in symfony 418. images in symfony 4
18. images in symfony 4
 
An introduction to the create js suite
An introduction to the create js suiteAn introduction to the create js suite
An introduction to the create js suite
 
dojo.Patterns
dojo.Patternsdojo.Patterns
dojo.Patterns
 
俩控件
俩控件俩控件
俩控件
 
Your first d8 module
Your first d8 moduleYour first d8 module
Your first d8 module
 
Drush - use full power - DrupalCamp Donetsk 2014
Drush - use full power - DrupalCamp Donetsk 2014Drush - use full power - DrupalCamp Donetsk 2014
Drush - use full power - DrupalCamp Donetsk 2014
 
A nodejs application
A nodejs applicationA nodejs application
A nodejs application
 
Angular module
Angular moduleAngular module
Angular module
 
Famo.us - New generation of HTML5 Web Application Framework
Famo.us - New generation of HTML5 Web Application FrameworkFamo.us - New generation of HTML5 Web Application Framework
Famo.us - New generation of HTML5 Web Application Framework
 

Viewers also liked

Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2
Saulo Arruda
 
Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3
Saulo Arruda
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
Saulo Arruda
 
Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6
Saulo Arruda
 
Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5
Saulo Arruda
 
A história do trakto
A história do traktoA história do trakto
A história do trakto
Jorge Henrique
 
Introdução ao desenvolvimento de apps para iOS
Introdução ao desenvolvimento de apps para iOSIntrodução ao desenvolvimento de apps para iOS
Introdução ao desenvolvimento de apps para iOS
Jorge Henrique
 
MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8
Saulo Arruda
 
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
Felipe J. R. Vieira
 
Introdução ao apple watch
Introdução ao apple watchIntrodução ao apple watch
Introdução ao apple watch
Jorge Henrique
 

Viewers also liked (10)

Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2
 
Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 
Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6
 
Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5
 
A história do trakto
A história do traktoA história do trakto
A história do trakto
 
Introdução ao desenvolvimento de apps para iOS
Introdução ao desenvolvimento de apps para iOSIntrodução ao desenvolvimento de apps para iOS
Introdução ao desenvolvimento de apps para iOS
 
MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8
 
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
 
Introdução ao apple watch
Introdução ao apple watchIntrodução ao apple watch
Introdução ao apple watch
 

Similar to Desenvolvimento iOS - Aula 4

I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)
Katsumi Kishikawa
 
Leaving Interface Builder Behind
Leaving Interface Builder BehindLeaving Interface Builder Behind
Leaving Interface Builder Behind
John Wilker
 
Developing iOS REST Applications
Developing iOS REST ApplicationsDeveloping iOS REST Applications
Developing iOS REST Applications
lmrei
 
iOS
iOSiOS
UIWebView Tips
UIWebView TipsUIWebView Tips
UIWebView Tips
Katsumi Kishikawa
 
FI MUNI 2012 - iOS Basics
FI MUNI 2012 - iOS BasicsFI MUNI 2012 - iOS Basics
FI MUNI 2012 - iOS BasicsPetr Dvorak
 
303 TANSTAAFL: Using Open Source iPhone UI Code
303 TANSTAAFL: Using Open Source iPhone UI Code303 TANSTAAFL: Using Open Source iPhone UI Code
303 TANSTAAFL: Using Open Source iPhone UI Code
jonmarimba
 
MFF UK - Introduction to iOS
MFF UK - Introduction to iOSMFF UK - Introduction to iOS
MFF UK - Introduction to iOS
Petr Dvorak
 
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Fábio Pimentel
 
Mobile App Development: Primi passi con NativeScript e Angular 2
Mobile App Development: Primi passi con NativeScript e Angular 2Mobile App Development: Primi passi con NativeScript e Angular 2
Mobile App Development: Primi passi con NativeScript e Angular 2
Filippo Matteo Riggio
 
125 고성능 web view-deview 2013 발표 자료_공유용
125 고성능 web view-deview 2013 발표 자료_공유용125 고성능 web view-deview 2013 발표 자료_공유용
125 고성능 web view-deview 2013 발표 자료_공유용NAVER D2
 
Programming iOS in C#
Programming iOS in C#Programming iOS in C#
Programming iOS in C#
Frank Krueger
 
Ui perfomance
Ui perfomanceUi perfomance
Ui perfomance
Cleveroad
 
IOS APPs Revision
IOS APPs RevisionIOS APPs Revision
IOS APPs Revision
Muhammad Amin
 
Refresh Austin - Intro to Dexy
Refresh Austin - Intro to DexyRefresh Austin - Intro to Dexy
Refresh Austin - Intro to Dexy
ananelson
 
iOS performance: tips and tricks to do it better
iOS performance: tips and tricks to do it betteriOS performance: tips and tricks to do it better
iOS performance: tips and tricks to do it better
Julian Król
 
Apple Templates Considered Harmful
Apple Templates Considered HarmfulApple Templates Considered Harmful
Apple Templates Considered HarmfulBrian Gesiak
 

Similar to Desenvolvimento iOS - Aula 4 (20)

I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)I phone勉強会 (2011.11.23)
I phone勉強会 (2011.11.23)
 
Leaving Interface Builder Behind
Leaving Interface Builder BehindLeaving Interface Builder Behind
Leaving Interface Builder Behind
 
Developing iOS REST Applications
Developing iOS REST ApplicationsDeveloping iOS REST Applications
Developing iOS REST Applications
 
iOS
iOSiOS
iOS
 
UIWebView Tips
UIWebView TipsUIWebView Tips
UIWebView Tips
 
FI MUNI 2012 - iOS Basics
FI MUNI 2012 - iOS BasicsFI MUNI 2012 - iOS Basics
FI MUNI 2012 - iOS Basics
 
303 TANSTAAFL: Using Open Source iPhone UI Code
303 TANSTAAFL: Using Open Source iPhone UI Code303 TANSTAAFL: Using Open Source iPhone UI Code
303 TANSTAAFL: Using Open Source iPhone UI Code
 
MFF UK - Introduction to iOS
MFF UK - Introduction to iOSMFF UK - Introduction to iOS
MFF UK - Introduction to iOS
 
CakePHP in iPhone App
CakePHP in iPhone AppCakePHP in iPhone App
CakePHP in iPhone App
 
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
 
I os 04
I os 04I os 04
I os 04
 
Mobile App Development: Primi passi con NativeScript e Angular 2
Mobile App Development: Primi passi con NativeScript e Angular 2Mobile App Development: Primi passi con NativeScript e Angular 2
Mobile App Development: Primi passi con NativeScript e Angular 2
 
125 고성능 web view-deview 2013 발표 자료_공유용
125 고성능 web view-deview 2013 발표 자료_공유용125 고성능 web view-deview 2013 발표 자료_공유용
125 고성능 web view-deview 2013 발표 자료_공유용
 
Programming iOS in C#
Programming iOS in C#Programming iOS in C#
Programming iOS in C#
 
Ui perfomance
Ui perfomanceUi perfomance
Ui perfomance
 
IOS APPs Revision
IOS APPs RevisionIOS APPs Revision
IOS APPs Revision
 
004
004004
004
 
Refresh Austin - Intro to Dexy
Refresh Austin - Intro to DexyRefresh Austin - Intro to Dexy
Refresh Austin - Intro to Dexy
 
iOS performance: tips and tricks to do it better
iOS performance: tips and tricks to do it betteriOS performance: tips and tricks to do it better
iOS performance: tips and tricks to do it better
 
Apple Templates Considered Harmful
Apple Templates Considered HarmfulApple Templates Considered Harmful
Apple Templates Considered Harmful
 

More from Saulo Arruda

Oportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startupsOportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startups
Saulo Arruda
 
Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014
Saulo Arruda
 
Growth hacking - Jera Retrospectiva
Growth hacking  - Jera RetrospectivaGrowth hacking  - Jera Retrospectiva
Growth hacking - Jera Retrospectiva
Saulo Arruda
 
#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups
Saulo Arruda
 
StartupFarm métricas
StartupFarm métricasStartupFarm métricas
StartupFarm métricas
Saulo Arruda
 
Mande seu chefe pentear macaco
Mande seu chefe pentear macacoMande seu chefe pentear macaco
Mande seu chefe pentear macaco
Saulo Arruda
 
Sthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e MobileSthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e Mobile
Saulo Arruda
 
Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?
Saulo Arruda
 
Startups - É programando que se empreende
Startups - É programando que se empreendeStartups - É programando que se empreende
Startups - É programando que se empreende
Saulo Arruda
 
SCRUM - Aula 2
SCRUM - Aula 2SCRUM - Aula 2
SCRUM - Aula 2
Saulo Arruda
 
SCRUM - Aula1
SCRUM - Aula1SCRUM - Aula1
SCRUM - Aula1
Saulo Arruda
 
TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?
Saulo Arruda
 
Empreendedorismo Agil
Empreendedorismo AgilEmpreendedorismo Agil
Empreendedorismo Agil
Saulo Arruda
 
Minicurso Ruby
Minicurso RubyMinicurso Ruby
Minicurso Ruby
Saulo Arruda
 
Minicurso Objective-C
Minicurso Objective-CMinicurso Objective-C
Minicurso Objective-C
Saulo Arruda
 
Rails nas Nuvens
Rails nas NuvensRails nas Nuvens
Rails nas Nuvens
Saulo Arruda
 
Aprendendo a errar ou errando para aprender
Aprendendo a errar ou errando para aprenderAprendendo a errar ou errando para aprender
Aprendendo a errar ou errando para aprender
Saulo Arruda
 
JBoss TRE - Aula1
JBoss TRE - Aula1JBoss TRE - Aula1
JBoss TRE - Aula1
Saulo Arruda
 
Todo mundo nasce Agil
Todo mundo nasce AgilTodo mundo nasce Agil
Todo mundo nasce Agil
Saulo Arruda
 
Workshop Desenvolvimento Agil
Workshop Desenvolvimento AgilWorkshop Desenvolvimento Agil
Workshop Desenvolvimento Agil
Saulo Arruda
 

More from Saulo Arruda (20)

Oportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startupsOportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startups
 
Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014
 
Growth hacking - Jera Retrospectiva
Growth hacking  - Jera RetrospectivaGrowth hacking  - Jera Retrospectiva
Growth hacking - Jera Retrospectiva
 
#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups
 
StartupFarm métricas
StartupFarm métricasStartupFarm métricas
StartupFarm métricas
 
Mande seu chefe pentear macaco
Mande seu chefe pentear macacoMande seu chefe pentear macaco
Mande seu chefe pentear macaco
 
Sthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e MobileSthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e Mobile
 
Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?
 
Startups - É programando que se empreende
Startups - É programando que se empreendeStartups - É programando que se empreende
Startups - É programando que se empreende
 
SCRUM - Aula 2
SCRUM - Aula 2SCRUM - Aula 2
SCRUM - Aula 2
 
SCRUM - Aula1
SCRUM - Aula1SCRUM - Aula1
SCRUM - Aula1
 
TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?
 
Empreendedorismo Agil
Empreendedorismo AgilEmpreendedorismo Agil
Empreendedorismo Agil
 
Minicurso Ruby
Minicurso RubyMinicurso Ruby
Minicurso Ruby
 
Minicurso Objective-C
Minicurso Objective-CMinicurso Objective-C
Minicurso Objective-C
 
Rails nas Nuvens
Rails nas NuvensRails nas Nuvens
Rails nas Nuvens
 
Aprendendo a errar ou errando para aprender
Aprendendo a errar ou errando para aprenderAprendendo a errar ou errando para aprender
Aprendendo a errar ou errando para aprender
 
JBoss TRE - Aula1
JBoss TRE - Aula1JBoss TRE - Aula1
JBoss TRE - Aula1
 
Todo mundo nasce Agil
Todo mundo nasce AgilTodo mundo nasce Agil
Todo mundo nasce Agil
 
Workshop Desenvolvimento Agil
Workshop Desenvolvimento AgilWorkshop Desenvolvimento Agil
Workshop Desenvolvimento Agil
 

Recently uploaded

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 

Recently uploaded (20)

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 

Desenvolvimento iOS - Aula 4

  • 1. Desenvolvimento de aplicativos mobile para iOS Aula 4 - Conhecendo alguns componentes
  • 3. UIImageView • Mostrar uma imagem ou uma série animada de imagens http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIImageView_Class/Reference/Reference.html
  • 4. - (id)initWithImage:(UIImage *)image @property(nonatomic, retain) UIImage *image - (void)startAnimating - (void)stopAnimating @property(nonatomic) NSTimeInterval animationDuration @property(nonatomic, copy) NSArray *animationImages @property(nonatomic) NSInteger animationRepeatCount @property(nonatomic, getter=isHighlighted) BOOL highlighted @property(nonatomic, retain) UIImage *highlightedImage
  • 5. UIImage • Objeto de alto nível para exibir imagens • As instâncias são imutáveis • Provê várias formas de exibir imagens http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImage_Class/Reference/Reference.html#//apple_ref/ occ/instm/UIImage/resizableImageWithCapInsets:
  • 6. + (UIImage *)imageNamed:(NSString *)name + (UIImage *)imageWithContentsOfFile:(NSString *)path + (UIImage *)imageWithData:(NSData *)data + (UIImage *)animatedImageWithImages:(NSArray *)images duration:(NSTimeInterval)duration - (UIImage *)resizableImageWithCapInsets: (UIEdgeInsets)capInsets
  • 7. Convenção de nomes • Padrão: <ImageName><device_modifier>.<filename_extension> • Alta resolução: <ImageName>@2x<device_modifier>.<filename_extension> • Exemplos: Button.png, Button~ipad.png, Button@2x~ipad.png, Button@2x~iphone.png [UIImage:imageNamed:@"Button"]
  • 9. UIScrollView • Provê suporte para exibir conteúdos que são maiores que a área de exibição da tela • Permite ao usuário rolar a tela usando “Swiping Gestures” e dar zoom usando “Pinching Gestures” http://developer.apple.com/library/ios/#DOCUMENTATION/WindowsViews/Conceptual/UIScrollView_pg/Introduction/ Introduction.html#//apple_ref/doc/uid/TP40008179-CH1-SW1
  • 11. - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { return self.imageView; }
  • 12. Demo
  • 13. UIWebView • Componente para embutir conteúdo da web no aplicativo • Por padrão, um web view converte números de telefone para links http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWebView_Class/Reference/Reference.html
  • 14. - (void)loadRequest:(NSURLRequest *)request - (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL @property(nonatomic, assign) id<UIWebViewDelegate> delegate - (void)stopLoading - (void)reload - (void)goBack - (void)goForward - (NSString *)stringByEvaluatingJavaScriptFromString: (NSString *)script
  • 15. UIWebViewDelegate - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType: (UIWebViewNavigationType)navigationType - (void)webViewDidStartLoad:(UIWebView *)webView - (void)webViewDidFinishLoad:(UIWebView *)webView - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
  • 16. Usando... - (BOOL)textFieldShouldReturn:(UITextField *)textField { NSURLRequest* request = [NSURLRequest requestWithURL: [NSURL URLWithString:textField.text]]; [self.webView loadRequest:request]; [textField resignFirstResponder]; return YES; }
  • 17. Demo

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n