<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog d&#039;un développeur multi-support &#187; navigation</title>
	<atom:link href="http://www.oni-ecchi.info/blog/tag/navigation/feed" rel="self" type="application/rss+xml" />
	<link>http://www.oni-ecchi.info/blog</link>
	<description>[DIM] pour les intimes :)</description>
	<lastBuildDate>Mon, 06 Feb 2012 18:51:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>iPhone &amp; Trucs et Astuces</title>
		<link>http://www.oni-ecchi.info/blog/iphone/iphone-trucs-et-astuces.html</link>
		<comments>http://www.oni-ecchi.info/blog/iphone/iphone-trucs-et-astuces.html#comments</comments>
		<pubDate>Tue, 14 Jul 2009 09:46:53 +0000</pubDate>
		<dc:creator>Guillaume chave</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[astuces]]></category>
		<category><![CDATA[delegate]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[tutoriel]]></category>

		<guid isPermaLink="false">http://www.oni-ecchi.info/blog/?p=370</guid>
		<description><![CDATA[Bonjour tout le monde, encore de l&#8217;iphone .. et ouais j&#8217;aime bien faire des petits exemples :p Cette fois ci à la demande non général de Sébastien H. voici quelques éléments de navigation que j&#8217;utilise dans mes applications.  Donc voici ce qu&#8217;il y a dans cet exemple : Comment créer et utiliser les préférences utilisateurs [...]]]></description>
			<content:encoded><![CDATA[<p>Bonjour tout le monde, encore de l&#8217;<a href="http://www.oni-ecchi.info/blog/tag/iphone" class="st_tag internal_tag" rel="tag" title="Voir les articles classés avec iPhone">iphone</a> .. et ouais j&#8217;aime bien faire des petits exemples :p</p>
<p>Cette fois ci à la demande non général de Sébastien H. voici quelques éléments de <a href="http://www.oni-ecchi.info/blog/tag/navigation" class="st_tag internal_tag" rel="tag" title="Voir les articles classés avec navigation">navigation</a> que j&#8217;utilise dans mes applications.  Donc voici ce qu&#8217;il y a dans cet exemple :</p>
<ul>
<li>Comment créer et utiliser les préférences utilisateurs à travers l&#8217;objet NSUserDefaults et le fichier settings.bundle :p</li>
<li>Comment créer une vue modal. Vous savez ce genre d&#8217;écrans qui arrivent par le bas de l&#8217;application et qui repartent ensuite.</li>
<li>Je refait aussi un petit rappel sur les <a class="shal" href=" http://www.oni-ecchi.info/blog/iphone/iphone-delegate.html" title=" iPhone & Delegate">delegate iphone</a> pour la vue modal.</li>
<li>Comment créer et utiliser le fameux menu d&#8217;actions à la façon safari pour permettre de fournir des boutons qui arrivent aussi par le bas de l&#8217;application (UIActionSheet)</li>
<li>Comment ouvrir d&#8217;autres applications installées sur l&#8217;iphone grâce à la méthode [UIApplication sharedApplication] :p</li>
</ul>
<p>On m&#8217;a dit qu&#8217;il manquait un peu d&#8217;images, voici des screenshoots de l&#8217;application d&#8217;exemple :</p>
<p><img src="http://www.oni-ecchi.info/blog/wp-content/uploads/2009/07/Image-1.png" alt="" width="209" height="315" /><img src="http://www.oni-ecchi.info/blog/wp-content/uploads/2009/07/Image-2.png" alt="" width="209" height="315" /></p>
<p>Le design est assez simple ;p</p>
<p><cite>Et n&#8217;oubliez pas de télécharger <a rel="attachment wp-att-378" href="http://www.oni-ecchi.info/blog/iphone/iphone-trucs-et-astuces.html/attachment/exemple-navigation">le projet Xcode de cet exemple</a></cite></p>
]]></content:encoded>
			<wfw:commentRss>http://www.oni-ecchi.info/blog/iphone/iphone-trucs-et-astuces.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iphone &amp; UIButton &amp; Multilangue</title>
		<link>http://www.oni-ecchi.info/blog/iphone/iphone-uibutton-multilangue.html</link>
		<comments>http://www.oni-ecchi.info/blog/iphone/iphone-uibutton-multilangue.html#comments</comments>
		<pubDate>Sun, 08 Mar 2009 14:47:48 +0000</pubDate>
		<dc:creator>Guillaume chave</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[débutant]]></category>
		<category><![CDATA[multi langue]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[tutoriel]]></category>

		<guid isPermaLink="false">http://www.oni-ecchi.info/blog/?p=307</guid>
		<description><![CDATA[Vaste programme pour ce billet :) En fait nous allons modifier un bouton en fonction de la langue du téléphone. Et nous allons créer un état &#171;&#160;survolé&#160;&#187; à notre bouton par programmation. InterfaceBuilder n&#8217;étant pas très clair sur cette manipulation. Tout d&#8217;abord il nous faut un UIButton déclaré en tant que IBOutlet UIButton dans notre [...]]]></description>
			<content:encoded><![CDATA[<p>Vaste programme pour ce billet :) En fait nous allons modifier un bouton en fonction de la langue du téléphone.<br />
Et nous allons créer un état &laquo;&nbsp;survolé&nbsp;&raquo; à notre bouton par programmation. InterfaceBuilder n&#8217;étant pas très clair sur cette manipulation.</p>
<p>Tout d&#8217;abord il nous faut un UIButton déclaré en tant que IBOutlet UIButton dans notre classe. Puis nous relions ce bouton via InterfaceBuilder avec un bouton sur notre vue. Dans les propriétés de celui ci vous pouvez dire que c&#8217;est un &laquo;&nbsp;custom button&nbsp;&raquo;. Faites le. Et nous revenons à XCode : </p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p307code2'); return false;">View Code</a> C</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p3072"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
</pre></td><td class="code" id="p307code2"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">-</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>viewDidLoad
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">// Gestion du multilanguage</span>
	NSUserDefaults<span style="color: #339933;">*</span> defs <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>NSUserDefaults standardUserDefaults<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	NSArray<span style="color: #339933;">*</span> languages <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>defs objectForKey<span style="color: #339933;">:</span>@<span style="color: #ff0000;">&quot;AppleLanguages&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// preferredLang vaut &quot;fr&quot;, &quot;en&quot;, &quot;de&quot;, etc </span>
	preferredLang <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>languages objectAtIndex<span style="color: #339933;">:</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Méthode avec deux jeux de langues : Française ou Anglaise dans les autres langues </span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>preferredLang isEqualToString<span style="color: #339933;">:</span>@<span style="color: #ff0000;">&quot;fr&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		UIImage <span style="color: #339933;">*</span> higlight <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>UIImage imageNamed<span style="color: #339933;">:</span>@<span style="color: #ff0000;">&quot;fr_btn_clik.png&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#91;</span>btnTest setBackgroundImage<span style="color: #339933;">:</span>higlight forState<span style="color: #339933;">:</span>UIControlStateHighlighted<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#91;</span>higlight release<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
		UIImage <span style="color: #339933;">*</span> normal <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>UIImage imageNamed<span style="color: #339933;">:</span>@<span style="color: #ff0000;">&quot;fr_btn.png&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#91;</span>btnTest setBackgroundImage<span style="color: #339933;">:</span>normal forState<span style="color: #339933;">:</span>UIControlStateNormal<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#91;</span>normal release<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">else</span> 
	<span style="color: #009900;">&#123;</span>
		UIImage <span style="color: #339933;">*</span> higlight <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>UIImage imageNamed<span style="color: #339933;">:</span>@<span style="color: #ff0000;">&quot;en_btn_clik.png&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#91;</span>btnTest setBackgroundImage<span style="color: #339933;">:</span>higlight forState<span style="color: #339933;">:</span>UIControlStateHighlighted<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#91;</span>higlight release<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
		UIImage <span style="color: #339933;">*</span> normal <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>UIImage imageNamed<span style="color: #339933;">:</span>@<span style="color: #ff0000;">&quot;en_btn.png&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#91;</span>btnTest setBackgroundImage<span style="color: #339933;">:</span>normal forState<span style="color: #339933;">:</span>UIControlStateNormal<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#91;</span>normal release<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Mais nous pouvons aussi concaténer le code langue avec le chemin de l'image.</span>
	<span style="color: #666666; font-style: italic;">// dans ce cas là il nous faut autant d'image que de langue possibles.</span>
	NSString <span style="color: #339933;">*</span> pathImage <span style="color: #339933;">=</span> @<span style="color: #ff0000;">&quot;_btn.png&quot;</span><span style="color: #339933;">;</span>
	NSString <span style="color: #339933;">*</span> pathImageClik <span style="color: #339933;">=</span> @<span style="color: #ff0000;">&quot;_btn_clik.png&quot;</span><span style="color: #339933;">;</span>
	UIImage <span style="color: #339933;">*</span> higlight <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>UIImage imageNamed<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>pathImage stringByAppendingString<span style="color: #339933;">:</span>preferredLang <span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#91;</span>btnTest setBackgroundImage<span style="color: #339933;">:</span>higlight forState<span style="color: #339933;">:</span>UIControlStateHighlighted<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#91;</span>higlight release<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	UIImage <span style="color: #339933;">*</span> normal <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>UIImage imageNamed<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>pathImageClik stringByAppendingString<span style="color: #339933;">:</span>preferredLang <span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#91;</span>btnTest setBackgroundImage<span style="color: #339933;">:</span>normal forState<span style="color: #339933;">:</span>UIControlStateNormal<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#91;</span>normal release<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Simple non ?</p>
<p>Après c&#8217;est sur cette méthode est un peu lourde. Il faut autant d&#8217;images que de langage et on n&#8217;utilise pas les techniques Apple pour le multilangue (avec leurs histoire de Bundle par langue, un dictionnaire de traductions etc).</p>
<p>Cependant, si comme vous avez affaire à des boutons très personnalisés (typo exotique, disposition du texte particuliere), il est peut être plus rapide de tout passer en image comme ici.</p>
<p>Chacun fait comme il le sent après ^^</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oni-ecchi.info/blog/iphone/iphone-uibutton-multilangue.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

