Artículos con la etiqueta 'Apple'


iPhone FirstApp: Adivinar el número - Parte 1

La primera fuente que me levanté en mis manos ha sido escrito en básico y consistía en unas pocas líneas de código, para aclararme. Era un juego simple que genera un número aleatorio de 1 a 10 y, a través del teclado, compruebe que el número introducido se Maggioni, menor o igual al número aleatorio. A pesar de su simplicidad en bruto sigue siendo, para mí, uno de los mejores ejemplos - simple, divertida y práctica - para explicar a aquellos que no saben nada acerca de la programación lo que se entiende realmente por "programa de ordenador". Así que me decidí a proponer para el iPhone de Apple, tal vez ayude a alguien ...

Continuación ...

Objective-C: tipo de conversión

Con algunos lenguajes de alto nivel, tales como JavaScript o PHP, cuando los datos no se escriben o de otra manera no se puede, somos "mimados" de comparar o convertir cadenas y enteros, y viceversa, todo escondido o manipulado por el intérprete (o compilador ). Por ejemplo, en las funciones de JavaScript son "forzadas" (como parseInt() , por ejemplo) requiere en casos especiales. Sin embargo, en otras circunstancias en que tratamos sin preocuparse por una conversión de todo tipo entero (explícito), tales como:

1
2
3
5 ; mioNumero var = 5;
/ / ...
"Il valore di mioNumero è " + mioNumero ) ; alert ("El valor de mioNumero es" + mioNumero);

En Objective-C, sin embargo, el tipo de datos es importante y el tipo de conversión debe ser explícita. Además de la fundición (mejor encasillamiento) podemos usar las características y funcionalidades específicas para el tipo de conversión. Por ejemplo, aquí es cómo convertir un entero a una cadena:

1
2
3
4
5 ; mioNumero int = 5;
miaStringa = [ NSString stringWithFormat : @ "%d" , mioNumero ] ; NSString * MyString = [ NSString stringWithFormat: @ "% d", mioNumero];
/ /
"miaStringa=%@ mioNumero=%i" , miaStringa, mioNumero ) ; NSLog (@ "myString = @% mioNumero =% i", miCadena, mioNumero);

Por el contrario, aquí es cómo convertir una cadena a un entero:

1
2
3
4
miaStringa = @ "128" ; NSString * MyString = @ "128";
[ miaStringa integerValue ] ; mioNumero int = [miCadena integerValue];
/ /
"miaStringa=%@ mioNumero=%i" , miaStringa, mioNumero ) ; NSLog (@ "myString = @% mioNumero =% i", miCadena, mioNumero);

Continuación ...

fragmento de código iPhone: UIAlertView

La clase UIAletrView le permite mostrar una ventana modal (animación) para informar y / o que se haga algo. El UIAlterView (ver alertas) son muy cómodas y fáciles de usar. La gestión de la respuesta del usuario se resuelve mediante la interceptación de que el índice del botón pulsado. Para ver un simple UIAlterView acaba de escribir:

1
2
3
4
/ / Alerta con un simple botón, sin devolución de llamada
[ [ UIAlertView alloc ] initWithTitle : @ "Titolo" message : @ "Messaggio" cancelButtonTitle : @ "Annulla" otherButtonTitles : nil ] ; UIAlertView MyAlert * = [[UIAlertView alloc] initWithTitle: @ "Título" mensaje: @ "Mensaje" cancelButtonTitle: @ "Cancelar" otherButtonTitles: nil];
; [MyAlert show];
; [MyAlert liberación];

Y 'posible para añadir botones adicionales otherButtonTitles :

1
2
3
4
/ / Alerta con dos simples botones, sin devolución de llamada
[ [ UIAlertView UIAlertView MyAlert * = [[UIAlertView
; [MyAlert show];
; [MyAlert liberación];

: Para determinar qué botón se ha pulsado, simplemente agregue el delegate:self inicialización de objetos UIAlterView :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/ / Alert sencillo con dos botones y callbacks
[ [ UIAlertView alloc ] initWithTitle : @ "Titolo" message : @ "Messaggio" delegate : self cancelButtonTitle : @ "Annulla" otherButtonTitles : @ "Ok" , nil ] ; UIAlertView MyAlert * = [[UIAlertView alloc] initWithTitle: @ "Título" mensaje: @ "Mensaje" delegado: cancelButtonTitle auto: @ "Cancelar" otherButtonTitles: @ "OK", nil];
; [MyAlert show];
; [MyAlert liberación];

/ / La llamada se ve así

void ) alertView : ( UIAlertView * ) alertView clickedButtonAtIndex : ( NSInteger ) buttonIndex { - (Void) alertView: (UIAlertView *) clickedButtonAtIndex alertView: (NSInteger) {buttonIndex
buttonIndex ) { switch (buttonIndex) {
: caso 1:
/ / Código
break;
}
}

La devolución de llamada alertView necesidad de contar con ese nombre, para obtener más información, consulte UIAlertViewDelegate

punteranno sempre a quella. Con sólo el callbck alertView:clickedButtonAtIndex más UIAletrView siempre apuntará a eso. Usando la etiqueta del campo UIAletrView , podemos determinar cuál es el "llamador":

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/ / Alert sencillo con dos botones y callbacks
[ [ UIAlertView alloc ] initWithTitle : @ "Titolo" message : @ "Messaggio" delegate : self cancelButtonTitle : @ "Annulla" otherButtonTitles : @ "Ok" , nil ] ; UIAlertView MyAlert * = [[UIAlertView alloc] initWithTitle: @ "Título" mensaje: @ "Mensaje" delegado: cancelButtonTitle auto: @ "Cancelar" otherButtonTitles: @ "OK", nil];
; myAlertA.tag = 1;
; [MyAlert show];
; [MyAlert liberación];

/ /
[ [ UIAlertView alloc ] initWithTitle : @ "Titolo" message : @ "Messaggio" delegate : self cancelButtonTitle : @ "Annulla" otherButtonTitles : @ "Ok" , nil ] ; UIAlertView myAlertB * = [[UIAlertView alloc] initWithTitle: @ "Título" mensaje: @ "Mensaje" delegado: cancelButtonTitle auto: @ "Cancelar" otherButtonTitles: @ "OK", nil];
; myAlertA.tag = 2;
; [MyAlertB show];
; [MyAlertB liberación];

/ / Múltiples gestión UIAlertView

void ) alertView : ( UIAlertView * ) alertView clickedButtonAtIndex : ( NSInteger ) buttonIndex { - (Void) alertView: (UIAlertView *) clickedButtonAtIndex alertView: (NSInteger) {buttonIndex
"Alert Tag: %i" , alertView.tag ) ; NSLog (@ "Etiquetas de alerta:% i", alertView.tag);
"buttonIndex: %i" , buttonIndex ) ; NSLog (@ "buttonIndex:% i", buttonIndex);
}

Continuación ...

Truco muy corto: NSTimer parada

El uso de temporizadores ( NSTimer ) para desarrollar aplicaciones para el iPhone de Apple es muy frecuente, no sólo en la fabricación de juegos. Uno de los problemas con los que uno puede chocar es la asincronía del temporizador, que puede dar lugar, durante la detención de uno o más contadores de tiempo, la caída de nuestra aplicación. , si invoca la invalidate che, appunto, arresta il timer. Cuando se quiere detener uno o varios temporizadores, donde repeats está establecido en YES , se invoca el invalidate que, precisamente, el temporizador se detiene.

Continuación ...

Apple iPhone 3.0 SDK: Corregido bug en UIButton buttonWithType

Como se indica en el mensaje de Apple iPhone 3.0 SDK: incompatibilidad primero de la 3.0 SDK de Apple muestran diferentes comportamientos con respecto a la versión 2.2.1. Servicio de apoyo a los desarrolladores me dio la respuesta, y entonces la solución al problema. . La respuesta fue que el apoyo técnico [UIButton buttonWithType:] ya llamada - interno - la initWithFrame . De ello se desprende que, de acuerdo con el apoyo técnico, por escrito:

Continuación ...

De ActionScript para Objective-C

Pensé que podría ser útil para aquellos que recientemente han abordado el desarrollo de aplicaciones para el iPhone de Apple, comparar Adobe ActionScript - el lenguaje usado en Adobe Flash y Adobe Flex, más común entre los neo-programadores - y el lenguaje Objective-C utilizado por Apple para desarrollar sus aplicaciones. Objective-C es en efecto un lenguaje orientado a objetos en el sentido puro, no es que no se actionscript, pero Objective-C es sin duda una ventaja, ya que es una extensión del estándar ANSI C y su sintaxis es una mezcla entre C / C + + y Smalltalk, es un verdadero OO (Object-Oriented Language).

Continuación ...

Apple iPhone SDK 3.0: incompatibilidad primero

Después de instalar el SDK 3.0 para el iPhone de Apple, evidentemente, todavía no perfectamente estables, de inmediato encontró algunos problemas, tanto en la compilación del código está en el general de XCode. El más importante - que rápidamente se indicará con una "casa" a Apple, los desarrolladores en el centro - la creación de botones a través de código. Aquí está un extracto del código no es compatible con el SDK 3.0:

1
2
3
4
[ [ UIButton buttonWithType : UIButtonTypeRoundedRect ] initWithFrame : CGRectMake ( 0 , 0 , 100 , 40 ) ] ; UIButton * myButton = [[UIButton buttonWithType: UIButtonTypeRoundedRect] initWithFrame: CGRectMake (0, 0, 100, 40)];
@ "Bottone" forState : UIControlStateNormal ] ; [MyButton setTitle: @ "Botón" Forst: UIControlStateNormal];
/ / Otras configuraciones
myButton ] ; [Self.view addSubview: myButton];

Al llenar este código con la SDK 2.2.1 se obtiene un botón clásico con la etiqueta "Button". Con el SDK 3.0, el botón se crea, pero desaparece la etiqueta. la situazione sembra migliorare, nel senso che la label viene resa apparentemente in modo corretto. Utilizando como buttonWithType tipo UIButtonTypeCustom parece mejorar la situación en el sentido de que la etiqueta es aparentemente realizado correctamente. Sigue siendo extraño a la falla repentina del tipo UIButtonTypeRoundedRect . Todavía estoy esperando una respuesta de Apple ... Acabo de novedad; lugar!

Continuación ...

El primero: la venta en iTunes

Seis días y la AppStore ha aprobado la (mi) primera aplicación para iPhone de Apple!

Continuación ...

Hola Teléfono

iphone A partir de hoy inaugura una nueva sección (categoría que corregir), dedicada al desarrollo de aplicaciones en el iPhone de Apple! Declaro ahora que muchos de los artículos que publicará un "corte" en línea con el espíritu de este blog, que será principalmente para usuarios avanzados. Sin embargo, como lo he hecho para otros temas, voy a tratar de ser lo más claro posible y, cuando sea necesario, para insertar un "concepto básico" de utilidad para un público más amplio.

Continuación ...

Truco muy corta: desactivar el cambio de tamaño de un área de texto en Safari

En cualquier navegador desarrollado a partir del motor de renderizado Webkit (con cita previa como Safari o Google Chrome ), los campos textarea muestran en la parte inferior derecha, el cambio de tamaño característico. Si esta peculiaridad puede resultar muy útil en algunos casos, en otros se convierte en un elemento molesto.

Continuación ...