SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Styling your iOS apps
   UIAppearance and other tips




           June 28, 2012

                                                            Xamarin
        Copyright 2012 © Xamarin Inc. All rights reserved
Nic Wise

   MonoTouch developer
   Xamarin Insider
   Coffee lover.
Agenda

• Overview of design
• But I’m not a designer!?!
• UIAppearance
• Tricks
• References
"Your app shouldn't look like your database threw up."
             Aral Balkan @ NDC Oslo
                http://aralbalkan.com/
What is design?
• Means different things to different people
• To me, it’s how an application works from
  the users perspective
• Includes how it looks, but not exclusively
• Think User Interaction or User
  Experience, not User Interface.
Where to begin?
Start on paper
• It’s quick and easy to change
• You don’t have to be a “designer”, iOS is
  very systematic
• Gets you away from the desktop
• Search for “iphone template pdf” - lots of
  free ones.

iOS Visual Proportions - http://bit.ly/qzZfnR
Tip!

• Grab a larger, grid-lined Moleskine
• 10x15 squares is exactly an iPhone 4S
  screen size
• Take photos of it, and crop on the device.
  Swipe through to test your applications
  flow.
Work out what your app is




       Sarah Parmenter | http://www.sazzy.co.uk/
• Serious Tool: Mail, Dropbox
  •   Apple UI. Limited colors; data is the most important
      thing;


• Fun Tool: Speedtest.net, Twitter
  •   Either Apple or custom, but moderate use of graphics.


• Fun Entertainment: Games
  •   Everything custom. Learn to love OpenGL. Hire a designer. Or 2.


• Serious Entertainment: AppStore
  •   Apple UI or some Custom UI.Very content heavy. Lots of tabs.


• Utility: Weather
  •   Usually custom, but can be either. Single screen. Usually single tasking
      apps
But I’m a developer, not
       a designer!
• A lot of these tricks are easy
• Pay attention to details, compare yourself
  to other top apps
• Use existing tools and services
• Employ a designer, especially for icons
Customizations


• TintColor (iOS 2+)
• UIAppearance (iOS 5+)
Tint Color
  Extremely simple, but limited




        Works in iOS2+
https://gist.github.com/2874588
UIAppearance




  iOS5+ only (80%+ of all devices)
   https://gist.github.com/2874948
You can also set the style when X is contained in Y



        All buttons are UIBarButtonItem




        (You are going to want to look up
         UIImage.CreateResizableImage)
UIAppearance
• A lot more than just background images
• Most customisable properties can be set via
  UIAppearance
  • The ones you can’t appear to be
     oversights
• Like everything in iOS, it’s a case of working
  out which property changes the thing you
  want to change
Where can I use it?
•   MonoTouch wraps it up in nice discoverable
    classes (better than ObjC!)
•   Most iOS controls support UIAppearance
•   It persists to system items you call
    •   e.g. ABPeoplePickerNavigationController
•   Expect more to be added in iOS6, some glaring
    holes
•   Makes your app degrade nicely on old hardware.
Tip!
       Apple WWDC videos are available to all
              registered developers*
    https://developer.apple.com/videos/wwdc/2012/

         Sessions of special note: 211; 216.
                Also: 221; 238; 230
 Remember video is available in SD if you hunt a
  little. And all slide decks are in PDF format.

* Registration is free! It is all under NDA though...
Managing assets
• Try to keep them all in one folder
  •   Not all in the root folder


• If you have 2 assemblies, both with /images,
  they will be merged (which may be fine)
• Consider a single static class which
  contains a reference to all the images,
  colors, and other resources
https://gist.github.com/2876233
http://docs.xamarin.com/ios/tutorials/Working_with_Images
Demo


        Source code is at
https://github.com/nicwise/xaminar-
            uiappearance
Essentials
• A good graphics editor
 •   Photoshop ($$$) or Pixelmator ($). PaintCode if you have some skill.


• Glyphish and Symbolicon icon packs
 •   http://glyphish.com / http://symbolicons.com/ - $25-$40



• Unretina (auto-scales @2x to normal)
 •   https://github.com/stuartkhall/Unretiner (free on github)

 •   Prepo, Screentaker


• AppDesignVault
 •   Great skins to get you started, from $70 each
References
•    iOS Visual Proportions
    • http://aentan.com/design/new-visual-proportions-for-the-ios-user-interface/
•    CreateResizableImage
    • http://tirania.org/monomac/archive/2012/Jan-30.html
•    Sample source is on GitHub
    • https://github.com/nicwise/xaminar-uiappearance




• Josh Clark - Tapworthy.
Summary
•   Always think your application through before you
    start (paper and coffee are good!)
•   Hiring a designer isn’t that expensive, especially
    for icons
•   You can go a long way without even opening an
    image editor. Just look at what Apple and your
    favourite apps have done
•   Start with the Apple Human Interface Guidelines
    (HIG).
Xamarin
    Seminar
   Please give us your feedback
  http://bit.ly/xamfeedback


      Follow us on Twitter
        @XamarinHQ



        Copyright 2012 © Xamarin Inc. All rights reserved

Weitere ähnliche Inhalte

Mehr von Xamarin

Mehr von Xamarin (20)

Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinDesktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
 
Developer’s Intro to Azure Machine Learning
Developer’s Intro to Azure Machine LearningDeveloper’s Intro to Azure Machine Learning
Developer’s Intro to Azure Machine Learning
 
Customizing Xamarin.Forms UI
Customizing Xamarin.Forms UICustomizing Xamarin.Forms UI
Customizing Xamarin.Forms UI
 
Session 4 - Xamarin Partner Program, Events and Resources
Session 4 - Xamarin Partner Program, Events and ResourcesSession 4 - Xamarin Partner Program, Events and Resources
Session 4 - Xamarin Partner Program, Events and Resources
 
Session 3 - Driving Mobile Growth and Profitability
Session 3 - Driving Mobile Growth and ProfitabilitySession 3 - Driving Mobile Growth and Profitability
Session 3 - Driving Mobile Growth and Profitability
 
Session 2 - Emerging Technologies in your Mobile Practice
Session 2 - Emerging Technologies in your Mobile PracticeSession 2 - Emerging Technologies in your Mobile Practice
Session 2 - Emerging Technologies in your Mobile Practice
 
Session 1 - Transformative Opportunities in Mobile and Cloud
Session 1 - Transformative Opportunities in Mobile and Cloud Session 1 - Transformative Opportunities in Mobile and Cloud
Session 1 - Transformative Opportunities in Mobile and Cloud
 
SkiaSharp Graphics for Xamarin.Forms
SkiaSharp Graphics for Xamarin.FormsSkiaSharp Graphics for Xamarin.Forms
SkiaSharp Graphics for Xamarin.Forms
 
Building Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and AzureBuilding Games for iOS, macOS, and tvOS with Visual Studio and Azure
Building Games for iOS, macOS, and tvOS with Visual Studio and Azure
 
Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017
 
Connected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft AzureConnected Mobile Apps with Microsoft Azure
Connected Mobile Apps with Microsoft Azure
 
Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017
 
Building Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual StudioBuilding Your First iOS App with Xamarin for Visual Studio
Building Your First iOS App with Xamarin for Visual Studio
 
Building Your First Android App with Xamarin
Building Your First Android App with XamarinBuilding Your First Android App with Xamarin
Building Your First Android App with Xamarin
 
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
 
Xamarin Mobile Leaders Summit | Solving the Unique Challenges in Mobile DevOps
Xamarin Mobile Leaders Summit | Solving the Unique Challenges in Mobile DevOpsXamarin Mobile Leaders Summit | Solving the Unique Challenges in Mobile DevOps
Xamarin Mobile Leaders Summit | Solving the Unique Challenges in Mobile DevOps
 
Xamarin Mobile Leaders Summit: The Mobile Mind Shift: Opportunities, Challeng...
Xamarin Mobile Leaders Summit: The Mobile Mind Shift: Opportunities, Challeng...Xamarin Mobile Leaders Summit: The Mobile Mind Shift: Opportunities, Challeng...
Xamarin Mobile Leaders Summit: The Mobile Mind Shift: Opportunities, Challeng...
 
Xamarin Mobile Leaders Summit: Business at the Point of Inspiration: Producti...
Xamarin Mobile Leaders Summit: Business at the Point of Inspiration: Producti...Xamarin Mobile Leaders Summit: Business at the Point of Inspiration: Producti...
Xamarin Mobile Leaders Summit: Business at the Point of Inspiration: Producti...
 
Accelerate Mobile Success with a Mobile Center of Excellence
Accelerate Mobile Success with a Mobile Center of ExcellenceAccelerate Mobile Success with a Mobile Center of Excellence
Accelerate Mobile Success with a Mobile Center of Excellence
 
Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4
 

Kürzlich hochgeladen

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Styling your iOS apps with Nic Wise

  • 1. Styling your iOS apps UIAppearance and other tips June 28, 2012 Xamarin Copyright 2012 © Xamarin Inc. All rights reserved
  • 2. Nic Wise MonoTouch developer Xamarin Insider Coffee lover.
  • 3. Agenda • Overview of design • But I’m not a designer!?! • UIAppearance • Tricks • References
  • 4. "Your app shouldn't look like your database threw up." Aral Balkan @ NDC Oslo http://aralbalkan.com/
  • 5. What is design? • Means different things to different people • To me, it’s how an application works from the users perspective • Includes how it looks, but not exclusively • Think User Interaction or User Experience, not User Interface.
  • 7. Start on paper • It’s quick and easy to change • You don’t have to be a “designer”, iOS is very systematic • Gets you away from the desktop • Search for “iphone template pdf” - lots of free ones. iOS Visual Proportions - http://bit.ly/qzZfnR
  • 8. Tip! • Grab a larger, grid-lined Moleskine • 10x15 squares is exactly an iPhone 4S screen size • Take photos of it, and crop on the device. Swipe through to test your applications flow.
  • 9. Work out what your app is Sarah Parmenter | http://www.sazzy.co.uk/
  • 10. • Serious Tool: Mail, Dropbox • Apple UI. Limited colors; data is the most important thing; • Fun Tool: Speedtest.net, Twitter • Either Apple or custom, but moderate use of graphics. • Fun Entertainment: Games • Everything custom. Learn to love OpenGL. Hire a designer. Or 2. • Serious Entertainment: AppStore • Apple UI or some Custom UI.Very content heavy. Lots of tabs. • Utility: Weather • Usually custom, but can be either. Single screen. Usually single tasking apps
  • 11. But I’m a developer, not a designer! • A lot of these tricks are easy • Pay attention to details, compare yourself to other top apps • Use existing tools and services • Employ a designer, especially for icons
  • 12. Customizations • TintColor (iOS 2+) • UIAppearance (iOS 5+)
  • 13. Tint Color Extremely simple, but limited Works in iOS2+ https://gist.github.com/2874588
  • 14. UIAppearance iOS5+ only (80%+ of all devices) https://gist.github.com/2874948
  • 15. You can also set the style when X is contained in Y All buttons are UIBarButtonItem (You are going to want to look up UIImage.CreateResizableImage)
  • 16. UIAppearance • A lot more than just background images • Most customisable properties can be set via UIAppearance • The ones you can’t appear to be oversights • Like everything in iOS, it’s a case of working out which property changes the thing you want to change
  • 17. Where can I use it? • MonoTouch wraps it up in nice discoverable classes (better than ObjC!) • Most iOS controls support UIAppearance • It persists to system items you call • e.g. ABPeoplePickerNavigationController • Expect more to be added in iOS6, some glaring holes • Makes your app degrade nicely on old hardware.
  • 18. Tip! Apple WWDC videos are available to all registered developers* https://developer.apple.com/videos/wwdc/2012/ Sessions of special note: 211; 216. Also: 221; 238; 230 Remember video is available in SD if you hunt a little. And all slide decks are in PDF format. * Registration is free! It is all under NDA though...
  • 19. Managing assets • Try to keep them all in one folder • Not all in the root folder • If you have 2 assemblies, both with /images, they will be merged (which may be fine) • Consider a single static class which contains a reference to all the images, colors, and other resources
  • 21. Demo Source code is at https://github.com/nicwise/xaminar- uiappearance
  • 22. Essentials • A good graphics editor • Photoshop ($$$) or Pixelmator ($). PaintCode if you have some skill. • Glyphish and Symbolicon icon packs • http://glyphish.com / http://symbolicons.com/ - $25-$40 • Unretina (auto-scales @2x to normal) • https://github.com/stuartkhall/Unretiner (free on github) • Prepo, Screentaker • AppDesignVault • Great skins to get you started, from $70 each
  • 23. References • iOS Visual Proportions • http://aentan.com/design/new-visual-proportions-for-the-ios-user-interface/ • CreateResizableImage • http://tirania.org/monomac/archive/2012/Jan-30.html • Sample source is on GitHub • https://github.com/nicwise/xaminar-uiappearance • Josh Clark - Tapworthy.
  • 24. Summary • Always think your application through before you start (paper and coffee are good!) • Hiring a designer isn’t that expensive, especially for icons • You can go a long way without even opening an image editor. Just look at what Apple and your favourite apps have done • Start with the Apple Human Interface Guidelines (HIG).
  • 25. Xamarin Seminar Please give us your feedback http://bit.ly/xamfeedback Follow us on Twitter @XamarinHQ Copyright 2012 © Xamarin Inc. All rights reserved

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. Quoted by John Galloway\n
  5. Anything from pixels to layout to screenflow;\nHow the user interacts with the application is the key thing\nMinimise the numbers of taps; Use sensible information density.\nMention TubeDeluxe. Crazy useful, but it’s all Apple UI!\n
  6. \n
  7. Visual design tools - esp ipad ones - can be useful, but they are very precise, which means you spend a lot of time working on making it look right, not how it works.\niOS design has a distinct rythmn - 44, 22, 11. 50 in some places...\n
  8. \n
  9. What is you app going to be? Serious or fun? entertainment or a quick tool?\n
  10. \n
  11. If you have the budget, get a designer or someone who can do visual design.\nThe basics are easy - Apple does let you fall into a pit of success.\nThere are 100’s (1000’s) of examples of great design on the appstore (and a lot of crap design too!)\n
  12. \n
  13. We will get to what Resources is later. In this case, it’s a UIColor object. Centralized colours FTW.\n
  14. Explain CreateResizableImage on the next slide\n
  15. CreateResizableImage makes an image which can be stretched, and expaneded, to any size while still looking good.\nThink how you would do the Messages speak bubbles. Or the Edit button above vrs the +\n
  16. \n
  17. \n
  18. \n
  19. \n
  20. Use UIImage.FromFile as it loads async and also doesn’t cache, so has less overhead if you are just loading it once. \nUIImage.FromBundle is syncronous, and works better if you need to constantly reload the image.\nAlso keeps things in the same place if you need to change things.\n
  21. \n
  22. Photoshop or Pixelmator for pixels. Paintcode is a vector design app, but outputs code!\nIcons are not cheap and easy to get good ones.\nUnretina converts your @2x into a normal sized image. Not always perfect, but good enough.\nAppDesignVault.com has some great skins to get started, tho you might need to port some of the code.\n
  23. \n
  24. \n
  25. \n