Category 'Tutorials'


iPhone FontsBook: source code to display the system font

Rounding out the article How To: Custom fonts on iPhone OS 3. 2 I propose the FontsBook sources , a simple iPhone application that shows a table all system fonts, grouped by family.

FontsBookFontsBookFontsBook

Continued ...

How To: Custom fonts on iPhone OS 3.2

With the release 3.2 of IOS you can include your own fonts in an application resource to be used exactly as those supplied with the system:

file. Applications That want to use custom fonts can now include fonts Those In Their application bundle and register with the system by Those fonts Including the UIAppFonts Their key in Info.plist file. The value of this key is an array of strings Identifying the font files in the application's bundle. When The System Sees the key, it loads the specified fonts and Makes Them available to the application.

Continued ...

Objective-C: how to rotate an image in 3D space

), un oggetto di più basso livello con innumerevoli potenzialità. The class UIView displays a pointer to the layer ( CALayer ), an object of the lower level with vast potential. The layer provides a variety of methods and properties related to displaying the contents of the view. For example, you can manipulate the contents of a view in three dimensional space. In ' sample carryover is interesting to note that the code is simple, and everything is created using Interface Builder:

Continued ...

Objective-C: obtain information from Latitude and Longitude

I respond to Mirko asking me how to make the opposite case proposed in Getting Latitude and Longitude in Objective-C .
Starting from the values ​​of Latitude and Longitude you can use the class MKReverseGeocoder to obtain a range of information, such as: city, state, address in full, chap!

Continued ...

Very short snippet: slideshow 10 lines of code

Let me show you how to implement a simple Slideshow of images with very few lines of code, using jQuery .
This technique can be implemented on any type of website, the important thing is to include the library jQuery . I used this technique to a site built in WordPress , developed in a few hours for an event.

Continued ...

How to get Latitude and Longitude in Objective-C

The framework provides MapKit many useful features, except the return of Longitude and Latitude from an address. In JavaScript, for example, you can use the service provided by Google Geocoding and discussed in Google Maps: How to get Latitude and Longitude from an address . Apple iPhone or iPad, however, you can overcome the obstacle using a different Google services. Specifically, you can call directly to the url:

1
http://maps.google.com/maps/geo?q = [address] & output = csv

Where is [indirizzo] to enter the string with the address you want to transform coordinates. The output returned is of type:

1
200,8,41.9128300,12.2241172

). The first value, 200 , indicates that everything went well ( 200 OK ). The second, 8 , Google is the accuracy parameter (1-10). The last two values ​​are, finally, latitude and longitude. Now we see a prototype of a method can be included in our applications:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
CLLocationCoordinate2D ) getLocationFromAddress : ( NSString * ) address { - (CLLocationCoordinate2D) getLocationFromAddress: ( NSString *) address {
urlString = [ NSString stringWithFormat : @ "http://maps.google.com/maps/geo?q=%@&output=csv" , NSString * urlString = [ NSString stringWithFormat: @ "% @ http://maps.google.com/maps/geo?q = & output = csv"
NSUTF8StringEncoding ] ] ; [StringByAddingPercentEscapesUsingEncoding address: NSUTF8StringEncoding]];

listItems = [ locationString componentsSeparatedByString : @ "," ] ; NSArray * ListItems = [locationString componentsSeparatedByString: @ ""];

/ / Int zoom = 0;
0.0 ; double latitude = 0.0;
0.0 ; double longitude = 0.0;

listItems count ] > = 4 && [ [ listItems objectAtIndex : 0 ] isEqualToString : @ "200" ] ) { if ([ListItems count]> = 4 & & [[ListItems objectAtIndex: 0] isEqualToString: @ "200"]) {
/ / Zoom = [[ListItems objectAtIndex: 1] intValue];
listItems objectAtIndex : 2 ] doubleValue ] ; Latitude = [[ListItems objectAtIndex: 2] doubleValue];
listItems objectAtIndex : 3 ] doubleValue ] ; longitude = [[ListItems objectAtIndex: 3] doubleValue];
{ Else {}
/ / Error
}
CLLocationCoordinate2D location;
location.latitude = latitude;
location.longitude = longitude;

return location;
}

Notes of interest

, alla stregua della funzione explode ( ) del PHP per intenderci. The string returned in locationString is "split" by the method componentsSeparatedByString , like the function explode ( ) in PHP for instance. I put the example I proposed - but commented - the code to retrieve even the Google accuracy parameter, precision or scale factor, denoted by zoom .

Source as

For completeness, I made ​​a small example application with which you can try the method proposed above, enter any address and the iPhone will show on the map.


Download Source

I thank the team devAPP for the inspiration of this article.

Continued ...

How to locate images and views in Interface Builder

After explaining how to locate our strings in Xcode , it is easy to see now how - by applying the same technique - to locate and view images / interfaces created with Interface Builder.

Locate graphics resources

The process, as mentioned, is the same, if we have an image already included in our resources, or they insert a new one, and we want to "locate" - that is, to manage two or more images based on the languages ​​supported - just click the button Right image ( Adium.png in this example) and select Get Info:

Make File Localizable we click in the lower left.

We click on Add and insert Localization Italian :

In order to obtain:

esattamente come accadeva con il testo: Our image is moved (physically, one of the rare times when that happens nell'alberatura Xcode is reflected on the filesystem) under virtual folders English.lproj and Italian.lproj exactly as happened with the text:

contiene una stessa versione dell'immagine. At this point each of the folders English.lproj and Italian.lproj contains the same version of the image. This image is manipulated in Interface Builder, where we will see - by default - the English version.
At this point, just overwrite one (or both files Adium.png ) to obtain a location of images "flash".

Locate the files XIB

Even the interfaces built with Interface Builder can be located in their entirety, when it is deemed necessary. ) con interfaccia XIB , lo selezioniamo, scegliamo Get Info dal menu contestuale, rendiamo il file localizzabile, aggiungiamo la localizzazione in italiano: The procedure is identical to that performed with the graphical capabilities: add a ViewController (eg infoViewController ) XIB interface, we select it, choose Get Info from the contextual menu, give the file localizable, add the Italian localization:

ViewController

Clicking Italiano or Italian will open Interface Builder! ) all'interno della classica cartella Classes . This time, the filesystem, you will notice that you have created two directories ( English.lproj and Italian.lproj ) within the classical Classes folder. Both will have their files infoViewController.xib . The comfort in this, clearly resolved in the code, and when we're going to instantiate our controller code we will have a "clean" like this:

1
2
[ InfoViewController alloc ] ; InfoViewController * info = [InfoViewController alloc];
info.view ] ; [Self.view addSubview: info.view];

As you can see there is no trace of any statement concerning the location, totally managed by the system. The two interfaces, of course, can be completely different, as are in effect as two separate XIB file.

Continued ...

Customizing a Form graphically

I was asked how to customize a graphical form, in particular a search box like the one on this blog. The technique used, or rather that I use, is obviously valid for any type of module form. What changes is only the complexity of the work to be done depending on the complexity of the form itself.

Continued ...

Adobe Flash CS4: Create an Ajax Loader or Activity Indicator

Create an Ajax Loader (or Activity indicator for those who are already accustomed to using the Apple iPhone) for the Web is not a difficult thing: there are services that generate animated gif images of all types. However, the GIF format has the big drawback of not supporting transparent as it should. Transparency in GIF current plan involves only one bit with the consequence that if we do not have a background color uniform, the edges of the image are noticeably grainy and fragmented.

Continued ...

How to use Google Maps in Adobe Flash CS4

In Adobe Flash, you can use a wide range of external APIs provided by Web services like Facebook , Twitter or Flickr . In this tutorial we will see how to integrate, in a really simple, the services of Google Maps in a movie / application Adobe Flash CS4.

Continued ...



Stop SOPA