<?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>ZenBrains &#187; Apps</title>
	<atom:link href="http://www.zenbrains.com/blog/category/apps/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zenbrains.com/blog</link>
	<description>IPhone Development Team</description>
	<lastBuildDate>Tue, 17 May 2011 21:06:43 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>OpenFeint nos acerca una App gratuita al día</title>
		<link>http://www.zenbrains.com/blog/2010/09/openfeint-nos-acerca-una-app-gratuita-al-dia/</link>
		<comments>http://www.zenbrains.com/blog/2010/09/openfeint-nos-acerca-una-app-gratuita-al-dia/#comments</comments>
		<pubDate>Sat, 11 Sep 2010 07:00:55 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[juegos]]></category>
		<category><![CDATA[Sin categoria]]></category>
		<category><![CDATA[applicaciones]]></category>
		<category><![CDATA[appstore]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://www.zenbrains.com/blog/?p=640</guid>
		<description><![CDATA[Con la aplicación OpenFeint y su game spotlight, tenemos al alcance de nuestra mano un nuevo juego gratuito cada día. Hay muchas webs y apps que sirven para encontrar esas aplicaciones gratis o saber cuando pasan de ser de pago a gratuitas, para los amantes de los juegos OpenFeint es una aplicación que no les [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F09%2Fopenfeint-nos-acerca-una-app-gratuita-al-dia%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F09%2Fopenfeint-nos-acerca-una-app-gratuita-al-dia%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Con la aplicación OpenFeint y su game spotlight, tenemos al alcance de nuestra mano un nuevo juego gratuito cada día. </p>
<p>Hay muchas webs y apps que sirven para encontrar esas aplicaciones gratis o saber cuando pasan de ser de pago a gratuitas, para los amantes de los juegos OpenFeint es una aplicación que no les puede faltar, yo llevo usándola unas semanas y lo primero que hago cada mañana es bajarme el juego gratuito del día, son juegos que normalmente son de pago, por lo que nos ahorramos unos eurillos. La verdad es que apenas tengo tiempo de probar mínimamente los juegos que me bajo, pero se que al menos no pierdo la oportunidad de conseguirlos gratis.</p>
<p>Lo que me gusta del sistema OpenFeint, los logros y la faceta social de los rankings, amigos y demás opciones que nos ofrece.  </p>
<p>Varemos si OpenFeint puede aguantar el embiste de Apple y su nuevo game center, conociendo a los de Apple estará muy bien hecho y va más allá de simples rankings mundiales ofreciendo posibilidades multi-jugador. </p>
<p><a href="http://itunes.apple.com/us/app/openfeint-game-spotlight/id349406668?mt=8">Consíguela aquí.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenbrains.com/blog/2010/09/openfeint-nos-acerca-una-app-gratuita-al-dia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple permite usar herramientas de terceros</title>
		<link>http://www.zenbrains.com/blog/2010/09/apple-permite-usar-herramientas-de-terceros/</link>
		<comments>http://www.zenbrains.com/blog/2010/09/apple-permite-usar-herramientas-de-terceros/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 19:57:26 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Novedades]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[noticias]]></category>

		<guid isPermaLink="false">http://www.zenbrains.com/blog/?p=637</guid>
		<description><![CDATA[Apple afloja su mano dura y permite usar herramientas de terceros para desarrollar aplicaciones, esto implica que ahora se podrá programar no sólo en Objective-C, sino también usando otros entornos que nos permitan usar otro lenguaje de programación y obtener igualmente una aplicación funcional en iOS. La única limitación que ponen es que la aplicación [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F09%2Fapple-permite-usar-herramientas-de-terceros%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F09%2Fapple-permite-usar-herramientas-de-terceros%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Apple afloja su mano dura y permite usar herramientas de terceros para desarrollar aplicaciones, esto implica que ahora se podrá programar no sólo en Objective-C, sino también usando otros entornos que nos permitan usar otro lenguaje de programación y obtener igualmente una aplicación funcional en iOS.</p>
<p>La única limitación que ponen es que la aplicación en si no descargue código de servidores externos, esta limitación esta para garantizar la seguridad.</p>
<p>No esta nada mal este nuevo enfoque ya que durante mucho tiempo ha sido uno de los puntos más criticados de Apple, su forma de mantener seguro su sistema lo hacía también poco accesible y muchas veces nada amigable para programadores sin conocimientos en Objective-C.</p>
<p>Otra novedad a destacar, es que Apple ha hecho público la guía que usan sus empleados en el proceso de aprobación de las aplicaciones, de esta manera los desarrolladores podemos saber como enfocar nuestras aplicaciones para asegurar su paso al App Store.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenbrains.com/blog/2010/09/apple-permite-usar-herramientas-de-terceros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evitar el autobloqueo en nuestra aplicación</title>
		<link>http://www.zenbrains.com/blog/2010/08/evitar-el-autobloqueo-en-nuestra-aplicacion/</link>
		<comments>http://www.zenbrains.com/blog/2010/08/evitar-el-autobloqueo-en-nuestra-aplicacion/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 16:05:39 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Objective-C]]></category>

		<guid isPermaLink="false">http://www.zenbrains.com/blog/?p=625</guid>
		<description><![CDATA[Según la aplicación que estamos desarrollando, puede ser interesante o incluso necesario evitar que el iPhone se autobloquee mientras nuestra aplicación esta en marcha. Por suerte tenemos una manera muy sencilla de conseguirlo y con sólo una instrucción. [UIApplication sharedApplication].idleTimerDisabled = YES; Eso es todo lo que necesitamos para que el iPhone permanezca todo el [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F08%2Fevitar-el-autobloqueo-en-nuestra-aplicacion%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F08%2Fevitar-el-autobloqueo-en-nuestra-aplicacion%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Según la aplicación que estamos desarrollando, puede ser interesante o incluso necesario evitar que el iPhone se autobloquee mientras nuestra aplicación esta en marcha. Por suerte tenemos una manera muy sencilla de conseguirlo y con sólo una instrucción.</p>

<div class="wp_syntax"><div class="code"><pre class="obj-c" style="font-family:monospace;">[UIApplication sharedApplication].idleTimerDisabled = YES;</pre></div></div>

<p>Eso es todo lo que necesitamos para que el iPhone permanezca todo el tiempo encendido, un buen lugar para ponerlo es en el método applicationDidFinishLaunch: en nuestro UIApplication delegate.</p>
<p>Tened cuidado porque si el usuario sale corriendo y deja su iPhone solo, durante mucho tiempo, al dejar la pantalla encendida todo el rato, lo dejaremos sin batería.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenbrains.com/blog/2010/08/evitar-el-autobloqueo-en-nuestra-aplicacion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programas útiles para programadores iPhone</title>
		<link>http://www.zenbrains.com/blog/2010/07/programas-utiles-para-programadores-iphone/</link>
		<comments>http://www.zenbrains.com/blog/2010/07/programas-utiles-para-programadores-iphone/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 14:48:43 +0000</pubDate>
		<dc:creator>Aram Julhakyan</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[aplicaciones]]></category>

		<guid isPermaLink="false">http://www.zenbrains.com/blog/?p=595</guid>
		<description><![CDATA[En este artículo voy a poner el listado de programas que más uso para hacer seguimiento de las ventas de nuestras apps y también para hacer seguimiento de las posiciones de nuestras apps en los rankings de los diferentes AppStores del mundo. Aquí va mi lista de apps que no tienen porque ser los mejores: [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F07%2Fprogramas-utiles-para-programadores-iphone%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F07%2Fprogramas-utiles-para-programadores-iphone%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>En este artículo voy a poner el listado de programas que más uso para hacer seguimiento de las ventas de nuestras apps y también para hacer seguimiento de las posiciones de nuestras apps en los rankings de los diferentes AppStores del mundo.</p>
<p>Aquí va mi lista de apps que no tienen porque ser los mejores:</p>
<p><a href="http://www.ideaswarm.com/products/appviz/"><strong>1. AppViz</strong></a></p>
<p>Para mi es la mejor aplicación (para Mac OS) para seguir las ventas de tus aplicaciones. Básicamente lo que hace es conectarse a itunesconnect y obtener toda la información de las descargas y financial reports. Desde que la uso he dejado de conectarme a itunesconnect para ver las ventas del día anterior.</p>
<p>Lo mejor es la forma en la que muestra los datos. Puedes ver las listas de descargas, crearte diferentes gráficos por ventas, número de descargas, region, etc.</p>
<p>También te muestra los reviews que recibe tu app en los diferentes países entro otros.</p>
<p>Para mi es imprescindible y os lo recomiendo.</p>
<p>Cuesta 29.95$ y los vale. Se puede descargar una versión de evaluación de 30 días de forma gratuita.</p>
<p><a href="http://www.zenbrains.com/blog/wp-content/uploads/2010/07/appviz1.png"><img class="aligncenter size-full wp-image-597" title="appviz1" src="http://www.zenbrains.com/blog/wp-content/uploads/2010/07/appviz1.png" alt="" width="550" height="811" /></a></p>
<p><a href="http://github.com/omz/AppSales-Mobile"><strong>2. App Sales</strong></a></p>
<p style="text-align: left;">App Sales va en la misma línea de App Viz pero para iPhone. Igual que App Viz este programa nos muestro todos los datos de ventas, reviews e otros conectándose a nuestra cuenta de itunesconnect y obteniendo toda la información.<a href="http://www.zenbrains.com/blog/wp-content/uploads/2010/07/appsales_mobile_screen2.png"></a><a href="http://www.zenbrains.com/blog/wp-content/uploads/2010/07/appsales_mobile_screen5.png"><br />
</a><img class="size-full wp-image-606 aligncenter" title="image2996" src="http://www.zenbrains.com/blog/wp-content/uploads/2010/07/image2996.png" alt="" width="568" height="527" /><br />
Es otra maravilla que uso siempre que no estoy delante del ordenador.</p>
<p style="text-align: left;">Además de todo es gratis y de código abierto. No está disponible en la AppStore ya que Apple no permite aplicaciones de este tipo en la appstore. Para instalarlo en nuestros iPhone tenemos que bajar el código (que viene como un proyecto XCode y no tenemos que configurar nada) y instalarlo mediante el XCode igual que hacemos con nuestros apps que programamos.</p>
<p style="text-align: left;">
<p style="text-align: left;"><strong><a href="http://majicjungle.com/majicrank.html">3. MajicRank</a></strong></p>
<p style="text-align: left;">MajicRank se usa para ver la posición de nuestra app en los rankings mundiales de AppStore. Es decir, permite ver en que posición (tanto globalmente como en su categoría) está nuestra app en los diferentes países en tiempo real. Lo que hace es conectar a iTunes de diferentes países y buscar nuestra app en el top 100 de cada uno de los países de la AppStore. Al buscar sólo en el top 100 muestra sólo los rankings de los países en los que nuestra aplicación aparece en el top 100 de ese país (global o en su categoría).</p>
<p style="text-align: left;"><a href="http://www.zenbrains.com/blog/wp-content/uploads/2010/07/screen-11.png"><img class="aligncenter size-full wp-image-610" title="screen-11" src="http://www.zenbrains.com/blog/wp-content/uploads/2010/07/screen-11.png" alt="" width="600" height="414" /></a></p>
<p style="text-align: left;">Está app viene muy bien cuando lanzas una campaña de marketing y quieres seguir como evoluciona la posición de tu app.</p>
<p style="text-align: left;">También lo recomiendo mucho, se ha convertido en una app imprescindible para mi.</p>
<p style="text-align: left;">Es totalmente gratis.</p>
<p style="text-align: left;">
<p><a href="http://itunes.apple.com/es/app/positionapp/id347069524?mt=8"><strong>4, PositionApp™</strong></a></p>
<p>Como podemos intuir del nombre esta app también sirve para hacer seguimiento de nuestras (y de otros también) aplicaciones.</p>
<p>Permite ver como evoluciona nuestra app en los rankings mundiales y comprar tu evolución con la compentencia.</p>
<p><a href="http://www.zenbrains.com/blog/wp-content/uploads/2010/07/PositionApp_02.jpg"><img class="aligncenter size-full wp-image-612" title="PositionApp_02" src="http://www.zenbrains.com/blog/wp-content/uploads/2010/07/PositionApp_02.jpg" alt="" width="640" height="480" /></a></p>
<p>A diferencia de MajicRank esta aplicación hace seguimiento de las 300 primeras apps en vez de las 100 primeras y es para el iPhone. La desventaja respecto al MajicRank es que la información no se suministra en tiempo real sino con un retraso de entre 1-3 horas (a veces más) . Y no es gratis, en el momento de escribir esta entrada costaba 5,49€.</p>
<p>Está bastante bien, pero el precio que tiene también es de considerar.</p>
<p>Estas son las 4 apps que más uso (diariamente) pero existen muchas alteranitvas. Sobre todo servicios web que te ofrecen el mismo tipo de información que pueden ofrecer estas 4 aplicaciones que uso.</p>
<p>Espero que esta información les sea útil. Si conocéis alguna app que pueda ser útil para los programadores iPhone por favor comentadlo por aquí.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenbrains.com/blog/2010/07/programas-utiles-para-programadores-iphone/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Configurando una Tab Bar</title>
		<link>http://www.zenbrains.com/blog/2010/06/configurando-una-tab-bar/</link>
		<comments>http://www.zenbrains.com/blog/2010/06/configurando-una-tab-bar/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 09:55:59 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[Objective-C]]></category>

		<guid isPermaLink="false">http://www.zenbrains.com/blog/?p=440</guid>
		<description><![CDATA[Cuando queremos crear una aplicación que contenga diferentes funcionalidades relacionadas con el uso de la aplicación, pero independientes entre si, como mostrar los datos de diferente manera o diferentes tareas, querremos usar una Tab Bar en nuestra aplicación. La Tab Bar nos dará acceso a esas diferentes tareas o vistas, separándolas dentro de nuestra aplicación [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F06%2Fconfigurando-una-tab-bar%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F06%2Fconfigurando-una-tab-bar%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Cuando queremos crear una aplicación que contenga diferentes funcionalidades relacionadas con el uso de la aplicación, pero independientes entre si, como mostrar los datos de diferente manera o diferentes tareas, querremos usar una Tab Bar en nuestra aplicación.</p>
<p>La Tab Bar nos dará acceso a esas diferentes tareas o vistas, separándolas dentro de nuestra aplicación como módulos independientes, además, sitúa al usuario dentro de la aplicación indicándole lo que esta viendo en ese momento.</p>
<p>Hoy daremos las indicaciones básicas para crear y configurar una Tab Bar para nuestra aplicación. Dentro de Xcode tenemos una plantilla que nos crea una aplicación con un Tab Bar y dos vistas diferentes, aunque es un buen punto de partida, cuando miramos el código a penas vemos que es lo que realmente se esta haciendo ya que toda la configuración la hacen desde Interface Builder. Nosotros mostraremos algo más de código.</p>
<p><strong>Estructura</strong></p>
<p>Tenemos nuestra aplicación, dentro de ésta estará nuestra Tab Bar, a la que le indicaremos que vistas (<a href="http://developer.apple.com/iphone/library/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html">UIViewController</a>) ha de mostrar, cada vista se ocupará de su funcionalidad, pero tenemos que configurar la propiedad tabBarItem (<a href="http://developer.apple.com/iphone/library/documentation/uikit/reference/UITabBarItem_Class/Reference/Reference.html">UITabBarItem</a>), de cada una de las vistas para que la Tab Bar nos pueda mostrar el icono y titulo de esa pestaña.</p>
<p><strong>Datos</strong></p>
<p>Para configurar la Tab Bar lo único que necesitamos es un icono para cada pestaña, y un título. Podemos usar ambos a la vez o cada uno por separado, obviamente una Tab Bar sin iconos pierde mucho, por lo que recomiendo que al menos se use un icono para representar lo que la pestaña hace, el título siempre va bien por si el icono no deja del todo claro.</p>
<p>El titulo no es más que una cadena que indicaremos dentro del código, pero el icono es algo más especial y aunque Apple nos suministra algunos iconos típicos del sistema, para usarlos echar un vistazo a  <a href="http://developer.apple.com/iphone/library/documentation/userexperience/conceptual/mobilehig/SystemProvided/SystemProvided.html">UITabBarSystemItem</a>, también nos indica como tenemos que crear nuestros propios iconos:</p>
<p>▪ Usar formato PNG.<br />
▪ El único color a de ser blanco puro con transparencia apropiada.<br />
▪ No añadir sombras.<br />
▪ Usar anti-aliasing.<br />
▪ Tamaño de 30 x 30 pixeles.</p>
<p><strong>Código</strong></p>
<p><strong> </strong></p>
<p>Para crear la Tab Bar y añadirla a nuestra aplicación simplemente usar lo siguiente:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>applicationDidFinishLaunching<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UIApplication <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>application <span style="color: #002200;">&#123;</span>
&nbsp;
tabBarController <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UITabBarController alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;
&nbsp;
MyViewController<span style="color: #002200;">*</span> vc1 <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>MyViewController alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;
&nbsp;
MyOtherViewController<span style="color: #002200;">*</span> vc2 <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>MyOtherViewController alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;
&nbsp;
<span style="color: #400080;">NSArray</span><span style="color: #002200;">*</span> controllers <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> arrayWithObjects<span style="color: #002200;">:</span>vc1, vc2, <span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
&nbsp;
tabBarController.viewControllers <span style="color: #002200;">=</span> controllers;
&nbsp;
<span style="color: #002200;">&#91;</span>window addSubview<span style="color: #002200;">:</span>tabBarController.view<span style="color: #002200;">&#93;</span>;
&nbsp;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>En el applicationDidFinishLaunching creamos el TabBarController, los UIViewController para cada una de nuestras pestañas, metemos estos últimos en un vector y le indicamos al controlador de la Tab Bar que serán esos los que ha de mostrar. Finalmente añadimos la vista de la Tab Bar a nuestra ventana y listos.</p>
<p>Para configurar cada uno de los UITabBarItem de cada una de las vistas podemos usar las siguientes líneas:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;">UIImage<span style="color: #002200;">*</span> anImage <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>UIImage imageNamed<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;MyTabBarIcon.png&quot;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
UITabBarItem<span style="color: #002200;">*</span> theItem <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UITabBarItem alloc<span style="color: #002200;">&#93;</span> initWithTitle<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;TabBarItemTitle&quot;</span> 
                                                     image<span style="color: #002200;">:</span>anImage tag<span style="color: #002200;">:</span><span style="color: #2400d9;">0</span><span style="color: #002200;">&#93;</span>;
&nbsp;
<span style="color: #002200;">&#91;</span>myViewController setTabBarItem<span style="color: #002200;">:</span>theItem<span style="color: #002200;">&#93;</span>;</pre></div></div>

<p>Normalmente se usarán dentro del mismo controlador, al inicializarlo, pero puede ser necesario hacerlo desde otro lugar cuando no estamos creando nuestra propia clase, por ejemplo si una de las vistas usa un UINavigationBar, en ese caso se puede usar el código anterior justo cuando creamos el controlador para la barra de navegación.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenbrains.com/blog/2010/06/configurando-una-tab-bar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Letris, juego número uno en España</title>
		<link>http://www.zenbrains.com/blog/2010/05/letris-juego-numero-uno-en-espana/</link>
		<comments>http://www.zenbrains.com/blog/2010/05/letris-juego-numero-uno-en-espana/#comments</comments>
		<pubDate>Sat, 15 May 2010 17:40:17 +0000</pubDate>
		<dc:creator>Aram Julhakyan</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Novedades]]></category>
		<category><![CDATA[letris]]></category>
		<category><![CDATA[noticias]]></category>

		<guid isPermaLink="false">http://www.zenbrains.com/blog/?p=355</guid>
		<description><![CDATA[Después de llegar a ser números uno con ZenTap la suerte vuelve a sonreirnos. Lanzamos el Letris hace dos días y ya es el número 1 en la categoría de juegos y es la segunda aplicación más descargada en España. Ha superado todas nuestras previsiones. Ninguno de nosotros se esperaba que un juego de palabras [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F05%2Fletris-juego-numero-uno-en-espana%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F05%2Fletris-juego-numero-uno-en-espana%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Después de <a href="http://www.zenbrains.com/blog/2010/02/zentap-pro-es-numero-uno-en-ventas-en-appstore-espana-en-categoria-de-utilidades/">llegar a ser números uno con ZenTap</a> la suerte vuelve a sonreirnos.</p>
<p>Lanzamos el Letris hace dos días y ya es el número 1 en la categoría de juegos y es la segunda aplicación más descargada en España.</p>
<p>Ha superado todas nuestras previsiones. Ninguno de nosotros se esperaba que un juego de palabras pudiera llegar tan lejos.</p>
<p>De aquí queremos dar las gracias a todos los que han participado en el proyecto, a la gente que ha hecho los tests, a los que nos han ayudado a expandir la noticia sobre el juego, a los que nos han apoyado con sus palabras. Gracias a todos.</p>
<p><a href="http://www.zenbrains.com/blog/wp-content/uploads/2010/05/blogResults.png"><img class="aligncenter size-full wp-image-356" title="blogResults" src="http://www.zenbrains.com/blog/wp-content/uploads/2010/05/blogResults.png" alt="" width="278" height="328" /></a>Los que aún no lo habéis probado lo podéis descargar desde aquí: <a href="http://itunes.apple.com/es/app/letris-el-juego-de-palabras/id356264824?mt=8">Descargar</a></p>
<p>O lo podéis ver en acción en el siguiente vídeo:</p>
<p><object width="626" height="352"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11249564&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11249564&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="626" height="352"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenbrains.com/blog/2010/05/letris-juego-numero-uno-en-espana/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>5-Star Rating control para iPhone</title>
		<link>http://www.zenbrains.com/blog/2010/05/5-star-rating-control-para-iphone/</link>
		<comments>http://www.zenbrains.com/blog/2010/05/5-star-rating-control-para-iphone/#comments</comments>
		<pubDate>Fri, 14 May 2010 10:22:15 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Objective-C]]></category>

		<guid isPermaLink="false">http://www.zenbrains.com/blog/?p=316</guid>
		<description><![CDATA[En muchos foros y blog, se ve gente que pregunta si hay algún control en Xcode que nos permita dar puntuaciones del estilo de las cinco estrellitas que se ve por iTunes, iPhone, iPod y demás. En su día, yo mismo recurrí a Google para ver si encontraba uno, pero a parte de algunas explicaciones [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F05%2F5-star-rating-control-para-iphone%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F05%2F5-star-rating-control-para-iphone%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>En muchos foros y blog, se ve gente que pregunta si hay algún control en Xcode que nos permita dar puntuaciones del estilo de las cinco estrellitas que se ve por iTunes, iPhone, iPod y demás. En su día, yo mismo recurrí a Google para ver si encontraba uno, pero a parte de algunas explicaciones de como montarlo, algunas usando un slider del Xcode, con vistas o la clase UIControl, nadie daba nada.</p>
<p>Finalmente decidí montarme uno yo mismo, y hoy os lo traigo, modificado, para que podáis añadirlo fácilmente a vuestro proyecto y usarlo en cualquier vista dentro de vuestra aplicación. Al final del artículo, en el que explico como funciona y como usarlo, encontrareis el link para descargarlo.</p>
<p><strong>Funcionamiento</strong><br />
Personalmente me decanté por usar una vista normal, UIView, para implementar mi &#8220;rating control&#8221;, el porqué es muy simple, aunque hay una clase especialmente pensada para controles, UIControl, no vamos a hacer grandes maravillas, lo único que nos interesa es que mientras el usuario desplaza el dedo por nuestro sistema de puntuación, se vayan iluminando las estrellas pertinentes.<br />
Para ello uso un UIViewController, que se encarga de crear la vista, añadir el número de iconos necesarios, por norma 5 y seguir la interactuación del usuario para detectar cuando pulsa un icono en concreto, o desplaza el dedo de uno a otro, para mostrar el rating pertinente. De esta manera conseguimos una buena fluidez y el mismo efecto que cuando se usa el rating del iPod, iPhone o iTunes.</p>
<p>No entraré en detalla en el código en si, ya que los interesados disponen de los archivos, más abajo, para curiosear, pero intentaré dar los detalles suficientes para que sea fácil usar esta clase en vuestra aplicación.  </p>
<p>Aquí tenéis el contenido de la cabecera de la clase RatingViewController:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #11740a; font-style: italic;">//</span>
<span style="color: #11740a; font-style: italic;">//  RatingViewController.h</span>
<span style="color: #11740a; font-style: italic;">//</span>
<span style="color: #11740a; font-style: italic;">//  Created by www.zenbrains.com on 5/13/10.</span>
<span style="color: #11740a; font-style: italic;">//  Copyright 2010 Zenbrains. All rights reserved.</span>
<span style="color: #11740a; font-style: italic;">//</span>
&nbsp;
<span style="color: #6e371a;">#import &lt;UIKit/UIKit.h&gt;</span>
&nbsp;
&nbsp;
<span style="color: #a61390;">@interface</span> RatingViewController <span style="color: #002200;">:</span> UIViewController <span style="color: #002200;">&#123;</span>
&nbsp;
	<span style="color: #11740a; font-style: italic;">// Property to acces the rate given by the user</span>
	NSInteger rate;
&nbsp;
	<span style="color: #11740a; font-style: italic;">// Arrays to store the names of the images for the icons, when active and unactive</span>
	<span style="color: #11740a; font-style: italic;">// initialize through the designates initializer</span>
	<span style="color: #400080;">NSArray</span> <span style="color: #002200;">*</span>ratedIcons;
	<span style="color: #400080;">NSArray</span> <span style="color: #002200;">*</span>unratedIcons;
&nbsp;
	<span style="color: #11740a; font-style: italic;">// Instances to set up the aspect of the rating view</span>
	<span style="color: #11740a; font-style: italic;">// initialize through the designates initializer</span>
	NSInteger numberOfRates;
	NSInteger ratingViewWidth;
	NSInteger ratingViewHeigth;
	NSInteger ratingIconWidth;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #a61390;">@property</span> NSInteger rate;
&nbsp;
<span style="color: #11740a; font-style: italic;">// The designated initializer.</span>
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>initWithRates<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>numRates viewWidth<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>viewWidth viewHeight<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>viewHeight 
		  iconWidth<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>iconWidth ratedIcons<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSArray</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>ratIcons unratedIcons<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSArray</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>unratIcons;
<span style="color: #11740a; font-style: italic;">// To move the rating view where you want</span>
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>locateRatingViewAtPoint<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>CGPoint<span style="color: #002200;">&#41;</span>point;
<span style="color: #11740a; font-style: italic;">// To set the initial rate for the view in case you have a rate stored</span>
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>setRate<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">int</span><span style="color: #002200;">&#41;</span>rate;
&nbsp;
<span style="color: #11740a; font-style: italic;">// You shouldn't need to call this one </span>
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>updateRatingViewWithLocation<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>CGPoint<span style="color: #002200;">&#41;</span>touchPosition;
&nbsp;
<span style="color: #a61390;">@end</span></pre></div></div>

<p>Sobre las variables, los comentarios explican para que se usa cada cosa, solo comentaros algo sobre el <em>rate</em>:</p>
<p><strong><em>rate</em></strong>, a través de esta propiedad es como se accede al valor actual del rating, esta pensado para valores enteros de 1 a 5 (normalmente) dejando el 0 libre para cuando no tenemos aun una puntuación.</p>
<p>En cuanto a los métodos, también se explican por si solos, solo comentaros que con el <strong><em>initWithRates:viewWidth:viewHeight:iconWidth:ratedIcons:unratedIcons:</em></strong> es con el que se inicializan todas las variables anteriores a los valores que nos interesan, si usáis el típico <strong><em>initWithNibName:bundle:</em></strong> para inicializar esta clase, se usarán unos valores dados por defecto dentro del RatingViewController.m, pero la vista quedará situada en la esquina superior izquierda, luego podéis moverla con el método <strong><em>locateRatingViewAtPoint:</em></strong>.</p>
<p>Daros cuenta de que se ha sobrescrito el método setRate: para que no solo le de el valor a la variable rate sino para que actualice también, el aspecto de los iconos en la vista.</p>
<p><strong>Como usarlo en vuestra aplicación</strong></p>
<p>Bien, una vez ya sabemos cómo funciona, solo queda dar un ejemplo de como usarlo en vuestra aplicación. En el zip de más abajo se incluyen los archivos RatingViewController.h y .m, junto con un set de imágenes que son las que se usan por defecto al llamar el  <strong><em>initWithNibName:bundle:</em></strong>. Incluir todos estos archivos a vuestro proyecto. Ahora, desde cualquier otra clase podéis incluir esta vista, por ejemplo desde el viewDidLoad de vuestra vista principal.</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>viewDidLoad <span style="color: #002200;">&#123;</span>
    <span style="color: #002200;">&#91;</span>super viewDidLoad<span style="color: #002200;">&#93;</span>;
&nbsp;
	<span style="color: #11740a; font-style: italic;">// 3 rates stars</span>
	<span style="color: #400080;">NSArray</span> <span style="color: #002200;">*</span>anArray <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> arrayWithObjects<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starFL.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starFC.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starFR.png&quot;</span>,<span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
	<span style="color: #400080;">NSArray</span> <span style="color: #002200;">*</span>otherArray <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> arrayWithObjects<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starEL.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starEC.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starER.png&quot;</span>,<span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
	ratingViewController <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>RatingViewController alloc<span style="color: #002200;">&#93;</span> initWithRates<span style="color: #002200;">:</span><span style="color: #2400d9;">3</span> viewWidth<span style="color: #002200;">:</span><span style="color: #2400d9;">90</span> viewHeight<span style="color: #002200;">:</span><span style="color: #2400d9;">30</span> iconWidth<span style="color: #002200;">:</span><span style="color: #2400d9;">30</span> ratedIcons<span style="color: #002200;">:</span>anArray unratedIcons<span style="color: #002200;">:</span>otherArray<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>ratingViewController locateRatingViewAtPoint<span style="color: #002200;">:</span>CGPointMake<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">10</span>, <span style="color: #2400d9;">50</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>ratingViewController setRate<span style="color: #002200;">:</span><span style="color: #2400d9;">1</span><span style="color: #002200;">&#93;</span>;
&nbsp;
	<span style="color: #11740a; font-style: italic;">// 5 rates stars</span>
	anArray <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> arrayWithObjects<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starFL.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starFC.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starFC.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starFC.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starFR.png&quot;</span>,<span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
	otherArray <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> arrayWithObjects<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starEL.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starEC.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starEC.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starEC.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;starER.png&quot;</span>,<span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
	RatingViewController <span style="color: #002200;">*</span>rateViewA<span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>RatingViewController alloc<span style="color: #002200;">&#93;</span> initWithRates<span style="color: #002200;">:</span><span style="color: #2400d9;">5</span> viewWidth<span style="color: #002200;">:</span><span style="color: #2400d9;">300</span> viewHeight<span style="color: #002200;">:</span><span style="color: #2400d9;">60</span> iconWidth<span style="color: #002200;">:</span><span style="color: #2400d9;">60</span> ratedIcons<span style="color: #002200;">:</span>anArray unratedIcons<span style="color: #002200;">:</span>otherArray<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>rateViewA locateRatingViewAtPoint<span style="color: #002200;">:</span>CGPointMake<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">10</span>, <span style="color: #2400d9;">110</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>rateViewA setRate<span style="color: #002200;">:</span><span style="color: #2400d9;">3</span><span style="color: #002200;">&#93;</span>;
&nbsp;
	<span style="color: #11740a; font-style: italic;">// 6 rates leafs</span>
	anArray <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> arrayWithObjects<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafR.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafB.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafY.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafYG.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafG.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafG.png&quot;</span>,<span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
	otherArray <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> arrayWithObjects<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
	RatingViewController <span style="color: #002200;">*</span>rateViewB <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>RatingViewController alloc<span style="color: #002200;">&#93;</span> initWithRates<span style="color: #002200;">:</span><span style="color: #2400d9;">6</span> viewWidth<span style="color: #002200;">:</span><span style="color: #2400d9;">240</span> viewHeight<span style="color: #002200;">:</span><span style="color: #2400d9;">40</span>	iconWidth<span style="color: #002200;">:</span><span style="color: #2400d9;">40</span> ratedIcons<span style="color: #002200;">:</span>anArray unratedIcons<span style="color: #002200;">:</span>otherArray<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>rateViewB locateRatingViewAtPoint<span style="color: #002200;">:</span>CGPointMake<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">10</span>, <span style="color: #2400d9;">210</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>rateViewB setRate<span style="color: #002200;">:</span><span style="color: #2400d9;">30</span><span style="color: #002200;">&#93;</span>;
&nbsp;
	<span style="color: #11740a; font-style: italic;">// 10 rates leafs</span>
	anArray <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> arrayWithObjects<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafR.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafB.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafY.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafYG.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafG.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafR.png&quot;</span>,
			   <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafB.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafY.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafYG.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafG.png&quot;</span>,<span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
	otherArray <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSArray</span> arrayWithObjects<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,
				  <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;leafE.png&quot;</span>,<span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
	RatingViewController <span style="color: #002200;">*</span>rateViewC <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>RatingViewController alloc<span style="color: #002200;">&#93;</span> initWithRates<span style="color: #002200;">:</span><span style="color: #2400d9;">10</span> viewWidth<span style="color: #002200;">:</span><span style="color: #2400d9;">300</span> viewHeight<span style="color: #002200;">:</span><span style="color: #2400d9;">30</span> iconWidth<span style="color: #002200;">:</span><span style="color: #2400d9;">30</span> ratedIcons<span style="color: #002200;">:</span>anArray unratedIcons<span style="color: #002200;">:</span>otherArray<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>rateViewC locateRatingViewAtPoint<span style="color: #002200;">:</span>CGPointMake<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">10</span>, <span style="color: #2400d9;">310</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>rateViewC setRate<span style="color: #002200;">:-</span><span style="color: #2400d9;">5</span><span style="color: #002200;">&#93;</span>;
&nbsp;
	<span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>self view<span style="color: #002200;">&#93;</span> addSubview<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>ratingViewController view<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>self view<span style="color: #002200;">&#93;</span> addSubview<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>rateViewA view<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>self view<span style="color: #002200;">&#93;</span> addSubview<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>rateViewB view<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>self view<span style="color: #002200;">&#93;</span> addSubview<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>rateViewC view<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>En este ejemplo estoy añadiendo cuatro &#8220;rating views&#8221; a mi vista, normalmente solo usareis uno, para mostrar lo que se puede hacer con esta clase, crear vuestros propios iconos, calcular como ha de ser de grande la vista (podéis usar Interface Builder para encontrar los pixeles) y solo tenéis que crear un objeto de esta clase, inicializarlo y ponerlo donde queráis. Con el código anterior obtenemos lo siguiente</p>
<p><a href="http://www.zenbrains.com/blog/wp-content/uploads/2010/05/ratingView.png"><img src="http://www.zenbrains.com/blog/wp-content/uploads/2010/05/ratingView.png" alt="" title="ratingView" width="320" height="480" class="aligncenter size-full wp-image-332" /></a></p>
<p>Bueno, espero que os sea de utilidad y podáis usar esta vista en vuestras aplicaciones, sentiros libres de usar el código con o sin modificaciones, pero si tenéis un hueco en el código o los créditos de vuestra aplicación, siempre podéis mencionar nuestro nombre como agradecimiento.</p>
<p>Aquí os dejo los archivos. <a href='http://www.zenbrains.com/blog/wp-content/uploads/2010/05/RatingViewController.zip'>RatingViewController</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenbrains.com/blog/2010/05/5-star-rating-control-para-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Colaboramos con iMean</title>
		<link>http://www.zenbrains.com/blog/2010/04/colaboramos-con-imean/</link>
		<comments>http://www.zenbrains.com/blog/2010/04/colaboramos-con-imean/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 22:20:12 +0000</pubDate>
		<dc:creator>Pol</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Novedades]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[iMean]]></category>
		<category><![CDATA[word prediction]]></category>

		<guid isPermaLink="false">http://www.zenbrains.com/blog/?p=114</guid>
		<description><![CDATA[Desde que pusimos en marcha Zenbrains, teníamos claro que queríamos que nuestras aplicaciones tuvieran un denominador común: ser útiles y aportar un valor muy claro al usuario. Obviamente, de vez en cuando también lanzariamos algún &#8220;divertimento&#8221; como Letris (que está a punto de caramelo!), pero el mayor ejemplo de lo primero fue ZenTap, una aplicación [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F04%2Fcolaboramos-con-imean%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F04%2Fcolaboramos-con-imean%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Desde que pusimos en marcha Zenbrains, teníamos claro que queríamos que nuestras aplicaciones tuvieran un denominador común: ser útiles y aportar un valor muy claro al usuario. Obviamente, de vez en cuando también lanzariamos algún &#8220;divertimento&#8221; como Letris (que está a punto de caramelo!), pero el mayor ejemplo de lo primero fue ZenTap, una aplicación para asistir a la escritura en el iPhone.</p>
<p>Para nuestra sorpresa, hace unos días recibimos un mensaje, a través de nuestra web, de Michael Bergmann. Este hombre de Estados Unidos, padre de un chico autista de 14 años, nos contaba que un par de años atrás su hijo había conseguido empezar a comunicarse apuntando a las letras de un alfabeto. Debemos admitir que una introducción como esta, a falta de leer las siguientes lineas, nos extrañó muchísimo. Pero nada más lejos de nuestras posibilidades de ayudar, el mensaje de Michael continuaba de manera muy interesante: resulta que el inminente lanzamiento del iPad abría una puerta de esperanza, ya que parecía el dispositivo adecuado para tratar de ayudar a su hijo con una aplicación adecuada. La pregunta que tenía para nosotros era la siguiente: Michael había probado ZenTap, y una vez visto el mecanismo de predicción de palabras que usamos en él, quería saber si estábamos dispuestos a echar una mano en esa &#8220;aplicación adecuada&#8221; que él justamente tenía en mente y a medio desarrollar&#8230;</p>
<p style="text-align: center;"><a href="../wp-content/uploads/2010/04/Word-Predict-with-numeric.jpg"></a><a href="http://www.zenbrains.com/blog/wp-content/uploads/2010/04/Word-Predict-with-numeric.jpg"><img class="aligncenter size-full wp-image-124" title="Word Predict with numeric" src="http://www.zenbrains.com/blog/wp-content/uploads/2010/04/Word-Predict-with-numeric.jpg" alt="" width="490" height="364" /></a></p>
<p>Como no podía ser menos, Aram se puso manos a la obra y colaboró con el <a href="http://imean.mobi/">proyecto iMean</a>. Menos de dos semanas después de esto, podemos decir que Michael ha terminado la aplicación, que ya está disponible en Appstore, y lo más importante: está ayudando a su hijo a comunicarse mejor!</p>
<p>No podemos estar más contentos tras noticias como estas, que verdaderamente animan a seguir en esto y a confíar en el lado humano de la tecnología. Esperamos que iMean tenga mucho éxito (desafortunadamente, hay usuarios que la necesitan). Y, de algún modo, nos es una buena recompensa saber que hacer bien algunas cosas conlleva, por si sólo, estos pequeños regalos <img src='http://www.zenbrains.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://imean.mobi" target="_blank">http://imean.mobi</a><br />
<a href="http://imean.mobi/Blog/Blog.html" target="_blank"> http://imean.mobi/Blog/</a></p>
<p><a href="http://itunes.com/apps/imean">http://itunes.com/apps/imean </a>(AppStore)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenbrains.com/blog/2010/04/colaboramos-con-imean/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Zentap Pro es número uno en ventas en AppStore España en categoría de Utilidades</title>
		<link>http://www.zenbrains.com/blog/2010/02/zentap-pro-es-numero-uno-en-ventas-en-appstore-espana-en-categoria-de-utilidades/</link>
		<comments>http://www.zenbrains.com/blog/2010/02/zentap-pro-es-numero-uno-en-ventas-en-appstore-espana-en-categoria-de-utilidades/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 12:29:48 +0000</pubDate>
		<dc:creator>Aram Julhakyan</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[anuncios]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[zentap]]></category>

		<guid isPermaLink="false">http://www.zenbrains.com/blog/?p=106</guid>
		<description><![CDATA[Si señores, después de mucho tiempo inadvertido por fin, gracias a nuestros usuarios, hemos conseguido el codiciado puesto número 1. Llavemos ya 4 días en el primer puesto de aplicaciones de utilidad y 4 días días en el top 10 del ranking global de AppStore España. Gracias a todos vosotros !]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F02%2Fzentap-pro-es-numero-uno-en-ventas-en-appstore-espana-en-categoria-de-utilidades%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F02%2Fzentap-pro-es-numero-uno-en-ventas-en-appstore-espana-en-categoria-de-utilidades%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Si señores, después de mucho tiempo inadvertido por fin, gracias a nuestros usuarios, hemos conseguido el codiciado puesto número 1.<br />
Llavemos ya 4 días en el primer puesto de aplicaciones de utilidad y 4 días días en el top 10 del ranking global de AppStore España.<br />
Gracias a todos vosotros !</p>
<p><a href="http://www.zenbrains.com/blog/wp-content/uploads/2010/02/topCharts.png"><img class="aligncenter size-full wp-image-108" title="topCharts" src="http://www.zenbrains.com/blog/wp-content/uploads/2010/02/topCharts.png" alt="" width="527" height="565" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenbrains.com/blog/2010/02/zentap-pro-es-numero-uno-en-ventas-en-appstore-espana-en-categoria-de-utilidades/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lo nunca visto, control de perros con el iPhone</title>
		<link>http://www.zenbrains.com/blog/2010/02/lo-nunca-visto-control-de-perros-con-el-iphone/</link>
		<comments>http://www.zenbrains.com/blog/2010/02/lo-nunca-visto-control-de-perros-con-el-iphone/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 11:21:01 +0000</pubDate>
		<dc:creator>Aram Julhakyan</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[perros]]></category>

		<guid isPermaLink="false">http://www.zenbrains.com/blog/?p=98</guid>
		<description><![CDATA[Un equipo de desarrollo español (Ivanovich Games), amigos de ZenBrains acaba de anunciar su última creación: iRemoteDog. Es una idea genial y muy original. La aplicación consiste en un mando de distancia que permite dar ordenes sonoros a tu perro. Claro, esta app no hace mágia, primero tienes que entrenar a tu perro para que [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F02%2Flo-nunca-visto-control-de-perros-con-el-iphone%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F02%2Flo-nunca-visto-control-de-perros-con-el-iphone%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Un equipo de desarrollo español (<a href="http://ivanovichgames.com">Ivanovich Games</a>), amigos de ZenBrains acaba de anunciar su última creación: <a href="http://ivanovichgames.com/iRemoteDog/iRemoteDog.html">iRemoteDog</a>.</p>
<p style="text-align: center;"><a href="http://www.zenbrains.com/blog/wp-content/uploads/2010/02/iRemoteDog.jpg"><img class="aligncenter size-full wp-image-99" title="iRemoteDog" src="http://www.zenbrains.com/blog/wp-content/uploads/2010/02/iRemoteDog.jpg" alt="" width="257" height="350" /></a></p>
<p>Es una idea genial y muy original. La aplicación consiste en un mando de distancia que permite dar ordenes sonoros a tu perro.</p>
<p>Claro, esta app no hace mágia, primero tienes que entrenar a tu perro para que aprenda esos sonidos.</p>
<p>Se usan un tipo de sonidos que son inaudibles para los humanos pero muy fácilmente reconocibles por los perros.</p>
<p>A parte  para los perros es más fácil entender y diferenciar este tipo de sonidos que la palabras.</p>
<p>Una vez entrenado, puede ser de los más gracioso hacer espectáculos para los amigos, nadie quedará indeferente:¿Controlar un perro con el iPhone, WOW?</p>
<p>Desde aquí deseamos suerte al desarrollador del programa y recomendamos la aplicación.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenbrains.com/blog/2010/02/lo-nunca-visto-control-de-perros-con-el-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

