Monday, March 21, 2011
Mobile UI Patterns
Thursday, March 17, 2011
Some Useful iOS Libraries
- ASIHttpRequest- a HTTP Network request library
- ShareKit - a library for sharing items to different services.
- Flurry - an analytics library and service
- GData Objective-C Client - iOS library for most of Google's Services.
- Facebook iOS SDK - Facebook API library
- RegexKitList - a regex library for iOS
- TouchJSON - a JSON library for iOS
- JSON Framework for Objective-C - a JSON library for iOS
- Core Plot - a 2D Graph plotting library for iOS.
- SDWebImage - a library for dealing with web images.
- Three20 - a general iOS library.
- MBProgressHUD - a progress indicator library
- Cocoa Controls - a website with lots of Cocoa controls.
- iPhone Open source libraries - a list of some open source libraries for iOS apps. (dated but useful)
- More open source libraries for iPhone development - another dated list of open source libraries for iOS development
Friday, March 11, 2011
Xcode 4 is now available
Xcode now works like most other IDE's where there is a workspace and an integrated Designer tool. Yes, now Interface Builder can run inside of Xcode and the single window model works really well.
Some Notable Changes
- Single Window model
- Built-in Interface Builder
- LLVM Compiler
- Faster Debugger
- Version Editor and Management
- Improved Instruments.
Wednesday, February 9, 2011
iPhone Pull to Refresh
iPhone Pull to Refresh
Ever since Tweetie 2, the pull-to-refresh paradigm has been a hot feature for iPhone applications. The idea is that you can pull down on a list of items to refresh them. This saves you from needing some sort of "refresh" or "reload" button. Nice!
For the upcoming V2 of the Plancast iPhone app we really wanted to replace the current "reload" toolbar item with the pull-to-refresh style. However, the existing open source pull to refresh examples such as Three20's Pull to Reload and EGOTableViewPullRefresh are a little too complicated for my taste. Heck - this should only require one file!
So here it is... a very simple pull-to-refresh:
All you need to do is add the .h and .m files to your project and subclass them. I've added a bit of a hack to make pull-to-refresh work with tables that have multiple sections (like Plancast).
There's even a built-in demo so you can try it out right away.
The Daily done better
Pre-blend of course… with CoreGraphics into your own view. If you blend your stuff together into a single static view on demand (e.g. when a table view moves a cell onscreen), it’s a little bit more expensive for the first frame, but every frame after that CoreAnimation is just dealing with one big, opaque texture… which it loves. It’s more than just the blending too. If you think about what is happening in terms of overdraw, having one big view per table cell is a big win because CoreAnimation will only touch a single given pixel on the screen once rather than multiple times (potentially, depending on how much overlap your old view hierarchy had).
DECEMBER 12, 2008Scrolling is the primary method of interaction on the iPhone. It has to be fast. Ithas to be fast. More than a few developers have asked me how I do it inTweetie, so I figured I would share a really fast and really clean technique people can adopt in their own apps.The Solution
Cutting to the chase, here’s the secret: One custom view per table cell, and do your own drawing. Sounds simple? That’s because it is. It’s actually simpler than dealing with a ton of subviews of labels and images, and it’s about a bzillion times faster (according to my informal tests).Why it’s Fast
Much like on Mac OS X, there are two drawing systems on the iPhone. One is CoreGraphics, the other isLayerKitCoreAnimation. CoreGraphics does drawing on the CPU, CoreAnimation does drawing on whatever it thinks is fastest - most likely the GPU.The GPU on the iPhone hates blending, that’s why Apple recommends that you keep as many of your views opaque as possible. Sometimes you have no choice - if you have a label over an image you are forced to make the label transparent otherwise you get a big ugly block around your text.What’s a developer to do? Pre-blend of course… with CoreGraphics into your own view. If you blend your stuff together into a single static view on demand (e.g. when a table view moves a cell onscreen), it’s a little bit more expensive for the first frame, but every frame after that CoreAnimation is just dealing with one big, opaque texture… which it loves. It’s more than just the blending too. If you think about what is happening in terms of overdraw, having one big view per table cell is a big win because CoreAnimation will only touch a single given pixel on the screen once rather than multiple times (potentially, depending on how much overlap your old view hierarchy had).The Code
I put together a small example project showing off this technique. It’s a simple scrolling list of cells with some text but draws the text using two different fonts, much like the Address Book Contacts list on the iPhone (regular and bold fonts). The technique is extensible to pretty much any style cell you need - I use the same thing in Tweetie and draw the chat bubble, text, and avatar all together into a single view.There is one handy class that you can use for everything, see:ABTableViewCell.h and ABTableViewCell.m in the full example project here:FastScrolling.zip.It doesn’t help that Apple doesn’t have any good examples on how to get good scrolling performance. The one table view example I checked (a while ago, it may have been updated) was absolutely horrible in terms of scrolling performance. Horrible.If you wanted to know why Tweetie is so fast, now you do. It’s an incredibly simple technique and should be very easy to adopt.Update: It looks like Apple has in fact updated the example code. Check out the fifth example in their TableViewSuite.
Monday, January 24, 2011
iOS code samples anyway you want it
- Apple's iOS Developer Samples by Framework
- Apple's iOS Developer samples by Topic
- Apple iOS Samples by date added
TopPaid This sample demonstrates how to build a universal application capable of running on both the iPhone and iPad. Last change: Upgraded to support iOS 4.2 SDK. | UIKit | 2011-01-13 Content Update |
UICatalog This sample is a catalog exhibiting many of the UI elements found in the iOS UIKit framework. Last change: Upgraded to support 4.2 SDK, Picker page now supports landscape orientation. | UIKit | 2011-01-12 Content Update |
AdvancedTableViewCells AdvancedTableViewCells shows several methods for displaying complex content in UITableViewCells. Last change: Upgraded to support iOS 4.2 SDK, now using UINib class to help load and instantiate xib-based table view cells. | UIKit | 2011-01-11 Content Update |
iAdSuite Demonstrates how to manage ADBannerViews in three common scenarios. Last change: Updated for iOS 4.2, changed deprecated content size identifiers, "AdBannerNavigation" sample now shares ad banners across view controllers. | iAd | 2011-01-03 Content Update |
MoveMe Illustrates simple drawing, touch handling, and animation using UIKit and Core Animation. Last change: Upgraded to iOS 4.2 SDK, DisplayStrings now included in project, now checking for more GCC warnings. | 2010-12-23 Content Update | |
iPhoneACFileConvertTest Demonstrates using the Audio Converter to convert PCM audio to a compressed format including AAC if supported. Last change: New document. | AudioToolbox | 2010-12-10 First Version |
GKTapper Demonstrates how to implement Leaderboards and Achievements. Last change: -Fixed bug in how the "submitAchievement:" method handles the "earnedAchievementCache". -Updated Read Me to clarify iTunes Connect's role in GameCenter. | GameKit | 2010-12-10 Minor Change |
CurrentAddress Demonstrates basic use of MapKit, displaying a map view and setting its region to current location. Last change: Upgraded to iOS 4.2 SDK, now using "mapView:didUpdateUserLocation:userLocation" to enable showing the user's address. | MapKit | 2010-12-01 Content Update |
avTouch avTouch demonstrates how to play an audio file using the AVAudioPlayer class. Last change: audioPlayerDidFinishPlaying should not update meter when in the background. | AVFoundation | 2010-11-16 Minor Change |
MessageComposer demonstrates how to target older OS versions while building with newly released APIs. Last change: Changed the rainy.png image into a JPEG image, because PNG-optimization made it unreadable on some platforms when sent as an attachment. | MessageUI | 2010-11-08 Content Update |
iPhoneUnitTests Illustrates the use of unit tests on an iPhone application project. Last change: Fixed bugs. Added workaround for running unit tests against the iPhone Simulator in Xcode 3.2.4 with iOS SDK 4.1. | 2010-11-01 Content Update | |
Icons This sample demonstrates the proper use of application icons on iOS. Last change: New document. | UIKit | 2010-10-22 First Version |
MVCNetworking Shows how to create a network application using the Model-View-Controller design pattern Last change: New document. | 2010-10-22 First Version | |
WiTap The WiTap sample application demonstrates how to achieve network communication between applications. Last change: Updated for iOS 4.1, added IPv6 support, fixed problem causing delayed writes | Foundation | 2010-10-22 Content Update |
Popovers This sample demonstrates proper use of UIPopoverController in iOS. Last change: New document. | UIKit | 2010-10-20 First Version |
ScrollViewSuite A series of examples that illustrate how to use UIScrollView. Last change: Updated 1_TapToZoom to use Interface Builder for UI objects. Removed TapDetectingImageView class since the sample no longer requires it. | UIKit | 2010-10-20 Content Update |
aurioTouch iPhone example to monitor audio input and play it out (duplex audio I/O) Last change: Updated for iOS 4.1 | AudioUnit | 2010-10-20 Content Update |
PageControl Demonstrates how to display pages of data differently between the iPhone and iPad. Last change: Updated as a universal application for iPhone and iPad. | UIKit | 2010-10-18 Content Update |
PrintWebView Demonstrates how to print content contained within a web view in iOS 4.2 or later. Last change: Use the same toolbar autoresizingMask for iPad and iPhone. | UIKit | 2010-10-11 Content Update |
DocInteraction Demonstrates how to use UIDocumentInteractionController to obtain information about documents and how to preview them. Last change: Fixed Xcode project deployment target to 4.0. | UIKit | 2010-10-06 Content Update |
Breadcrumb Demonstrates how to draw a path using the Map Kit overlay, MKOverlayView, that follows and tracks the user's current location. Last change: Option kCLLocationAccuracyBestForNavigation turned off by default, sound feedback on location updates added as an option. | MapKit | 2010-10-06 Content Update |
PrintPhoto PrintPhoto demonstrates how to print photos in iOS 4.2 or later. Last change: New document. | UIKit | 2010-09-23 First Version |
ZoomingPDFViewer This sample code project demonstrates how to create a PDF viewer using the UIScrollView and CATilerLayer classes. Last change: New document. | CoreGraphics | 2010-08-31 First Version |
ListAdder Demonstrates the technique of thread confinement using NSOperation. Last change: New document. | Foundation | 2010-08-27 First Version |
Table View Animations and Gestures Shows how to use gesture recognizers and animated update blocks with a table view. Last change: First public version. * Uses plays and quotations instead of RSS feed. * Uses SectionInfo class instead of struct. * More comments. * Minor user interface changes. | UIKit | 2010-08-27 Minor Change |
HazardMap Demonstrates how to create a custom Map Kit overlay to display USGS earthquake hazard data. Last change: Localized xib files, editorial updates. | MapKit | 2010-08-24 Content Update |
KMLViewer Demonstrate how to display KML files on top of a MKMapView. Last change: Localized xib files, editorial changes. | MapKit | 2010-08-24 Content Update |
PhotoScroller Demonstrates the use of embedded UIScrollViews and CATiledLayer to create a rich user experience for displaying and paginating photos. Last change: Added autorotation. | UIKit | 2010-08-19 Content Update |
SeismicXML Demonstrates how to use NSXMLParser to parse XML documents. Last change: Now using NSOperation to perform the XML parsing. | UIKit | 2010-08-18 Content Update |
GLSprite Shows how to create an OpenGL texture from image data in a Core Graphics bitmap context. Last change: Upgraded project to build with the iOS 4.0 SDK | OpenGLES | 2010-08-18 Minor Change |
GLPaint Demonstrates how to support single finger painting using OpenGL ES. Last change: Updated to take into account the view's contentScaleFactor. Updated to draw strictly with premultiplied alpha pixel data. | OpenGLES | 2010-08-04 Content Update |
Audio Mixer (MixerHost) Demonstrates how to use the Multichannel Mixer audio unit in an iOS application. Last change: New document. | AudioUnit | 2010-07-27 First Version |
Audio UI Sounds (SysSound) Demonstrates how to play short sounds and invoke vibration. Last change: Upgraded project to build with the iOS 4.0 SDK. Other minor corrections and improvements. | AudioToolbox | 2010-07-27 Content Update |
EADemo Demonstrates use of the ExternalAccesory.framework to communicate with attached MFI device Last change: Update sample for iOS 4 SDK | ExternalAccessory | 2010-07-26 Content Update |
PhotoLocations Illustrates a Core Data application that uses more than one entity and transformable attributes. Last change: Added UIGraphicsEndImageContext to EventDetailViewController.m. Updated for iOS v4.0. | CoreData | 2010-07-23 Minor Change |
PhotoPicker Demonstrates choosing images from the photo library, take a picture with the camera, and how to customize the camera. Last change: New document. | UIKit | 2010-07-22 First Version |
iPhoneExtAudioFileConvertTest Demonstrates using the ExtAudioFile API to convert from one audio format and file type to another. Last change: Upgraded project to build with the iOS 4.0 SDK. | AudioToolbox | 2010-07-22 Content Update |
GenericKeychain An example of how to use Keychain Services on iOS. Last change: Fixed minor memory leak and upgraded project to build with the iOS 4 SDK. | Security | 2010-07-22 Content Update |
BatteryStatus Demonstrates the use of the battery status properties and notifications provided via the iOS SDK. Last change: Upgraded project to build with the iOS 4.0 SDK. | UIKit | 2010-07-22 Content Update |
SimpleNetworkStreams Demonstrates networking using the NSStream API. Last change: Updated for iOS 4.0 | 2010-07-20 Content Update | |
SimpleURLConnections Demonstrates simple networking using the NSURLConnection API. Last change: Updated for iOS 4.0 | Foundation | 2010-07-20 Minor Change |
Reachability Shows how to monitor network state and host reachability. Last change: Updated for iOS 4.0 | SystemConfiguration | 2010-07-20 Minor Change |
AdvancedURLConnections Demonstrates various advanced networking techniques with NSURLConnection. Last change: Updated sample of iOS 4.0 | Foundation | 2010-07-13 Minor Change |
LocateMe This sample uses CoreLocation to get and track the user's location. Last change: Updated for iOS 4.0. | CoreLocation | 2010-07-09 Content Update |
SimpleFTPSample Demonstrates simple FTP operations using the NSURLConnection and CFFTPStream APIs. Last change: Updated for iOS 4.0. | Foundation | 2010-07-09 Minor Change |
XMLPerformance Performance and parsing XML, focusing on speed, memory footprint, and user experience. Last change: Updated for iOS 4.0 | Foundation | 2010-07-08 Minor Change |
iPhoneMultichannelMixerTest Demonstrates how to build an Audio Unit Graph using the Multichannel Mixer and Remote I/O units. Last change: Upgraded project to build with the iOS 4 SDK. | AudioUnit | 2010-07-07 Content Update |
GLES2Sample This sample demonstrates how to create an OpenGL ES 1.1 and 2.0 compatible project. Last change: Upgraded project to build with the iOS 4.0 SDK | OpenGLES | 2010-07-07 Minor Change |
GLGravity Demonstrates how to use the UIAccelerometer class in combination with OpenGL ES rendering. Last change: Upgraded project to build with the iOS 4.0 SDK. | OpenGLES | 2010-07-06 Minor Change |
Touches Demonstrates how to handle multiple touches. Last change: Changed deployment target back to iOS 3.2 and added CFBundleIconFiles in Info.plist. | UIKit | 2010-07-01 Content Update |
WeatherMap Demonstrates the use of the MapKit, displaying a map view with custom MKAnnotationViews. Last change: Updated for iOS 4.0. | MapKit | 2010-07-01 Content Update |
Formulaic Demonstrates how to use the iPhone Accessibility API to make an iPhone application accessible. Last change: Updated project to build with the iOS 4.0 SDK | UIKit | 2010-07-01 Minor Change |
Locations Complete implementation of the Locations project from the Your First iPhone Application With Core Data tutorial. Last change: Added CFBundleIconFiles in Info.plist. | CoreData | 2010-06-29 Content Update |
CoreDataBooks Illustrates use of Core Data in an iPhone application. Last change: Added CFBundleIconFiles in Info.plist. | CoreData | 2010-06-29 Content Update |
oalTouch iPhone example to play a single audio source using OpenAL. Last change: Changed deployment target back to iPhone OS 3.2 and added CFBundleIconFiles in Info.plist. | OpenAL | 2010-06-29 Content Update |
HeaderFooter Demonstrates how to implement and customize UITableView's header and footer views. Last change: Added CFBundleIconFiles in Info.plist. | UIKit | 2010-06-29 Content Update |
GLImageProcessing Demonstrates how to implement simple image processing filters using OpenGL ES1.1. Last change: Added CFBundleIconFiles in Info.plist. | OpenGLES | 2010-06-29 Content Update |
TaggedLocations This sample illustrates how to manipulate attributes and relationships in an iPhone application. Last change: Added CFBundleIconFiles in Info.plist. | CoreData | 2010-06-29 Content Update |
TouchCells Demonstrates how to implement trackable-settable UIControls embedded in a UITableView. Last change: Added CFBundleIconFiles in Info.plist. | UIKit | 2010-06-29 Content Update |
AppPrefs Demonstrates how to display your app's preferences or settings in the "Settings" system application. Last change: Deployment target set to iPhone OS 3.2. | UIKit | 2010-06-29 Content Update |
CopyPasteTile Demonstrates how to implement copy, cut, and paste in your application. Last change: Added CFBundleIconFiles in Info.plist. | UIKit | 2010-06-28 Content Update |
AQOfflineRenderTest Demonstrates using Audio Queue offline render functionality using the AudioQueueOfflineRender API. Last change: Added CFBundleIconFiles in Info.plist. | AudioToolbox | 2010-06-28 Content Update |
LazyTableImages Asynchronously downloads images for a UITableView so the UI is more responsive. Last change: Deployment target set to iPhone OS 3.2. | UIKit | 2010-06-28 Content Update |
ViewTransitions Demonstrates how to perform transitions between two views using built-in Core Animation transitions. Last change: Added CFBundleIconFiles in Info.plist. | QuartzCore | 2010-06-28 Content Update |
AccelerometerGraph Demonstrates how to use the UIAccelerometer class and filter its results. Last change: Added CFBundleIconFiles in Info.plist. | UIKit | 2010-06-28 Content Update |
Teslameter This application implements a Teslameter, a magnetic field detector. Last change: Updates to make project compatible with iOS 4.0 SDK | CoreLocation | 2010-06-28 Minor Change |
SimpleEKDemo shows how to use EventKit and EventKitUI frameworks to access and edit calendar data Last change: New document. | EventKit | 2010-06-25 First Version |
DateSectionTitles Shows how to create section information for NSFetchedResultsController using dates. Last change: Changed deployment target back to iPhone OS 3.2 and added CFBundleIconFiles in Info.plist. | CoreData | 2010-06-25 Content Update |
QuickContacts Demonstrates how to use the Address Book UI controllers and various properties. Last change: Upgraded project to build with the iOS 4.0 SDK. | AddressBook | 2010-06-25 Content Update |
iPhoneCoreDataRecipes Shows how you can use view controllers, table views, and Core Data in an iPhone application. Last change: Deployment target set to iPhone OS 3.2. | CoreData | 2010-06-25 Content Update |
GLTextureAtlas Demonstrates how to use a texture atlas to draw multiple objects with different textures simultaneously. Last change: Changed deployment target back to iPhone OS 3.2 and added CFBundleIconFiles in Info.plist. | OpenGLES | 2010-06-25 Content Update |
QuartzDemo Demonstrates many of the Quartz2D APIs made available by the CoreGraphics framework. Last change: Changed deployment target back to iPhone OS 3.2 and added CFBundleIconFiles in Info.plist. | CoreGraphics | 2010-06-25 Content Update |
WorldCities Demonstrates basic use of MapKit, including displaying a map view and setting its region. Last change: Upgraded project to build with the iOS 4.0 SDK. | MapKit | 2010-06-25 Content Update |
PVRTextureLoader This application illustrates how to load PVR texture files and then display them using OpenGL. Last change: Changed deployment target back to iPhone OS 3.2 and added CFBundleIconFiles in Info.plist. | OpenGLES | 2010-06-25 Content Update |
Reflection This sample shows how to implement a "reflection" special effect on a given UIImageView. Last change: Changed deployment target back to iPhone OS 3.2 and added CFBundleIconFiles in Info.plist. | UIKit | 2010-06-25 Content Update |
MapCallouts Demonstrates the use of the MapKit framework, displaying a map view with custom MKAnnotations each with custom callouts. Last change: Updated icons and artwork. Upgraded project to build with the iOS 4 SDK. | MapKit | 2010-06-25 Content Update |
iPhoneMixerEQGraphTest Demonstrates using an AUnit Graph connecting a MultiChannel Mixer to the iPodEQ to the RemoteIO and setting EQ presets. Last change: Changed deployment target back to iPhone OS 3.2 and added CFBundleIconFiles in Info.plist. | CoreAudio | 2010-06-25 Content Update |
TransWeb Demonstrates how to implement UIWebView with a transparent background. Last change: Updated iTunesArtwork. | UIKit | 2010-06-25 Minor Change |
URLCache Demonstrates how to download a resource, store it in the data directory, and use the local copy. Last change: Fixed several minor bugs. Upgraded project to build with iOS 4.0 SDK. | 2010-06-25 Minor Change | |
DrillDownSave Demonstrates how to restore the user's current location in a drill-down list style user interface and restore that location when the app is relaunched. Last change: Upgraded project to build with the iOS 4.0 SDK. | UIKit | 2010-06-24 Content Update |
TableViewSuite Shows how to use UITableView through a progression of increasingly advanced applications. Last change: Upgraded project to build with the iOS 4 SDK, fixed NSTimeZoneWrapper parsing bug, replaced use of deprecated "addTimeInterval". | UIKit | 2010-06-24 Content Update |
LaunchMe Demonstrates how to register and service incoming requests of a new URL type. Last change: Upgraded project to build with the iOS 4.0 SDK. | UIKit | 2010-06-24 Content Update |
HelloWorld Demonstrates how to edit text with a keyboard and how to display the text in a label. Last change: Upgraded project to build with the iOS 4.0 SDK. | UIKit | 2010-06-24 Content Update |
HeadsUpUI Demonstrates how to implement a headsUp or HUD-like user interface over the app's primary view controller. Last change: Upgraded project to build with the iOS 4.0 SDK. | UIKit | 2010-06-24 Content Update |
WhichWayIsUp Tracks the orientation of the device. Last change: Upgraded project to build with the iOS 4.0 SDK. | UIKit | 2010-06-24 Content Update |
Accessory Demonstrates how to implement a custom accessory view for your UITableView in the form of a checkmark button. Last change: Upgraded project to build with the iOS 4.0 SDK. | UIKit | 2010-06-23 Content Update |
TheElements TheElements is a sample application that provides access to the data contained in the Periodic Table of the Elements. Last change: Upgraded project to build with the iOS 4.0 SDK. | UIKit | 2010-06-23 Content Update |
Scrolling Demonstrates how to implement two different style UIScrollViews: single image, and multiple images. Last change: Upgraded project to build with the iOS 4.0 SDK. | UIKit | 2010-06-23 Content Update |
NavBar Demonstrates how to use UINavigationController and UIViewController classes as building blocks to your application's user interface. Last change: Upgraded project to build with the iOS 4.0 SDK. | UIKit | 2010-06-23 Content Update |
SimpleUndo Illustrates how to use undo on iPhone. Last change: Upgraded project to build with the iOS 4.0 SDK. | 2010-06-23 Content Update | |
Metronome Simulates the operation of a simple mechanical metronome. Last change: Upgraded project to build with the iOS 4.0 SDK. | AudioToolbox | 2010-06-23 Content Update |
SimpleDrillDown Illustrates a simple drill-down application using a UITableView. Last change: Upgraded project to build with the iOS 4.0 SDK. | UIKit | 2010-06-23 Content Update |
AlternateViews Demonstrates how to implement alternate or distinguishing view controllers for each particular device orientation. Last change: Upgraded project to build with the iOS 4.0 SDK. | UIKit | 2010-06-23 Content Update |
MusicCube Demonstrates basic use of OpenGL ES, OpenAL, and Audio File Services for manipulating sound in a 3D environment. Last change: Upgraded project to build with the iOS 4.0 SDK. | OpenGLES | 2010-06-23 Content Update |
MailComposer Demonstrates how to target older OS versions while building with newly released APIs. Last change: Upgraded project to build with the iOS 4.0 SDK. | MessageUI | 2010-06-22 Content Update |
DateCell Demonstrates formatted display of date objects in UITableViewCells and using UIDatePicker to edit those values. Last change: Upgraded project to build with the iOS 4 SDK. | UIKit | 2010-06-17 Content Update |
TopSongs Demonstrates importing data from an RSS feed into a Core Data store. Last change: Upgraded project to build with the iOS 4 SDK. | CoreData | 2010-06-17 Content Update |
TableSearch Demonstrates how to search contents of a UITableView using UISearchBar and UISearchDisplayController. Last change: Upgraded project to build with the iOS 4 SDK. | UIKit | 2010-06-17 Content Update |
International Mountains This sample demonstrates ways to incorporate and manage localized data in an iPhone application. Last change: Updates to make project compatible with iOS 4.0 SDK | UIKit | 2010-06-17 Minor Change |
BubbleLevel Simulates the operation of a simple, physical bubble level. Last change: Updates to make project compatible with iOS 4.0 SDK | UIKit | 2010-06-17 Minor Change |
BonjourWeb Shows how to find network services that are advertised by Bonjour. Last change: Updated to work with iOS SDK 4.0. | Foundation | 2010-06-16 Minor Change |
SimpleGestureRecognizers Shows how to use standard gesture recognizers. Last change: Added localization support; viewDidUnload now releases IBOutlets. | UIKit | 2010-04-20 Content Update |
MultipleDetailViews Illustrates how to use a split view controller with multiple detail views. Last change: Added localization support; viewDidUnload now releases IBOutlets. | UIKit | 2010-04-20 Content Update |
Trailers Dashcode Project containing a Trailer web application built using bindings and data sources. Last change: Updated data source URL. | 2010-04-20 Content Update | |
ToolbarSearch Shows how to use a search field in a toolbar and present a list of recent searches in a popover. Last change: viewDidUnload now releases IBOutlets, added localization support, fixed rotation layout bug. | UIKit | 2010-04-19 Content Update |
KeyboardAccessory Shows how to use a keyboard accessory view. Last change: viewDidUnload now releases IBOutlets, added localization support. | UIKit | 2010-04-19 Content Update |
GKRocket Demonstrates the use of GKSession and GKVoiceChatService in a simple networked game. Last change: New document. | GameKit | 2010-03-19 First Version |
FastEnumerationSample Demonstrates how to implement the NSFastEnumeration protocol. Last change: New document. | Foundation | 2009-12-07 First Version |
AddMusic Demonstrates how to play audio items that are synced from a user's desktop iTunes library. Last change: Minor changes. | MediaPlayer | 2009-10-01 Minor Change |
SpeakHere Demonstrates iPhone recording and playback using the Audio Toolbox framework. Last change: Add support for pausing playback when headphones are removed | AudioToolbox | 2009-09-08 Content Update |
GKTank Sample application demonstrating Peer-to-Peer Connectivity using GameKit framework. Last change: Minor edits. | GameKit | 2009-06-08 Minor Change |
CryptoExercise Highlights the Cryptographic APIs found in the Security framework and CommonCrypto for the iPhone OS SDK Last change: Adopted iPhone OS 3.0 UITableView and UITableViewCell APIs. Added check for availability of WiFi network. Made minor bug fix in hash computation. | Security | 2009-05-13 Content Update |
MoviePlayer Demonstrates how to use the Media Player framework to play a movie full-screen. Last change: Added support for receiving streaming audio and video over HTTP. | Media |
Popular Posts
-
Obviously the mother of all iOS sample sources is the Apple Developer website . The Apple developer samples cover pretty much every aspect o...
-
In a previous blog post I listed all the Apple iOS related code samples. Since these samples are also updated regularly so they are current...
-
AppDev Magazine previously listed some useful iOS libraries. Below are the libraries listed and a couple of additional libraries that I hav...
-
There are several ways to implement Pull-toRefresh on iPhones. The best method that I have found so far is Leah Culver's technique . I e...
-
Yesterday Xcode 4 was made available to developers. It is a significantly better Xcode with lots of new features and enhancements. I was a...
-
There are a few code samples for iPad development on Apple Developer website. MultipleDetailViews : This sample shows how you can use...
-
Looking at some of the most popular apps in the App store you can learn a lot about successful mobile UI patterns. Mari Sheibley , the lead ...
-
Here is how Loren Brichter would do "The Daily", It is faster and more fluid. He also " created " the fastest way to ...
-
This blog is mostly about iOS code samples. Great code samples are priceless for effective iOS software development. The best code samples a...