Posts in objective-c

Cómo saber si una UIView está visible

septiembre 17th, 2013 Posted by ios, objective-c 0 thoughts on “Cómo saber si una UIView está visible”

Si necesitás saber si podés liberar una view podés chequear si tiene una superview:


if (myView.superview){
// podés hacer algo con la vista porque se supone que está en la jerarquía
}
else {
// myView no está en la jerarquía de vistas
}

NSData to NSString

abril 6th, 2013 Posted by iphone, objective-c 0 thoughts on “NSData to NSString”

En Objective C para castear un objeto NSData a un objeto NSString se realiza de dos maneras:

Si el objeto no termina en null hay que usar el método -initWithData:encoding:

    NSString* newStr = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];

Si el objeto termina en null hay que usar el método -stringWithUTF8String para eliminar el al final de la cadena.

    NSString* newStr = [NSString stringWithUTF8String:[data bytes]];

FTS y SOUNDEX de SQLite en iOS

abril 3rd, 2013 Posted by ios, objective-c, sqlite 0 thoughts on “FTS y SOUNDEX de SQLite en iOS”

Agregar tu propia versión de SQLite para tu proyecto iOS es fácil.

1. Descargá desde http://www.sqlite.org/ la última versión de sqlite almagamation.

2. Descomprimilo en tu computadora y agregá a tu proyecto iOS los archivos sqlite.c y sqlite.h.

3. Abrí el archivo sqlite.h y agregá:

# define SQLITE_SOUNDEX 1
# define SQLITE_ENABLE_FTS3

4. Compilá tu proyecto 😉

Ojo! No hay que tener agregada la lib sqlite de xcode, sino pincha. Así que si ya la tenías linkeada en tu proyecto quitala.

Programador PHP Argentina

marzo 23rd, 2013 Posted by freelance, ios, magento, objective-c, php, prestashop, wordpress 1 thought on “Programador PHP Argentina”

Hola.

Soy un programador freelance de Argentina que se dedica al desarrollo de aplicaciones web.

Desde hace más de 7 años que me dedico al desarrollo de aplicaciones PHP. Empecé con PHP “puro y duro” por así decirlo.

Luego estuve viendo los diferentes frameworks MVP del mercado de los cuales los que más me gustaron son Zend y Symphony.

Y finalmente comencé a trabajar con los diferentes CMS que hay para PHP para no “reinventar la rueda” 🙂

Trabajé con WordPress y Drupal a nivel CMS. Y en cuanto a tiendas online con Magento y Prestashop.

Ahora mismo, además de dedicarme al desarrollo de aplicaciones web me encuentro trabajando en el desarrollo de aplicaciones móviles. Principalmente me dedico a iOS con Objective, pero también (dependiendo del proyecto) trabajo con Android (desde 2.2 en adelante) y con jQuery Mobile (para el caso de web applications móviles).

Si tenés alguna duda o querés un presupuesto contactame acá que hoy mismo me pongo en contacto con vos.

No provisioned iOS devices are available with a compatible iOS version.

marzo 22nd, 2013 Posted by objective-c, xcode 0 thoughts on “No provisioned iOS devices are available with a compatible iOS version.”

Si ocurre este problema al intentar hacer correr una aplicación desde xcode en el un terminal iOS es probable que se deba a lo siguiente.

Por defecto xcode 4 crea aplicaciones con soporte sólo para armv7. Si tu terminal tiene un procesador armv6 ahí está el problema.

Para solucionarlo hay que agregar armv6 a la lista de arquitecturas soportadas. Esto se hace agregando una nueva entrada en el archivo ProjectName-Info.plist

Could not instantiate class named NSLayoutConstraint

marzo 22nd, 2013 Posted by objective-c, xcode 0 thoughts on “Could not instantiate class named NSLayoutConstraint”

Por defecto cuando se crea un proyecto nuevo en xcode 4.5 cada XIB creado utiliza autolayout lo cual es una propiedad de iOS 6.

Entonces al correr el proyecto con una versión de iOS < 6 explota.

Las posibles soluciones son:

  • O bien correr el proyecto con iOS >= 6.0
  • O bien modificar poner la propiedad autolayout de cada XIB a false.

Para poner la propiedad autolayout a false, seleccionar el XIB y en el File Inspector deseleccionarla.

Cómo utilizar valores hexadecimales para definir colores en Objective C

marzo 21st, 2013 Posted by ios, objective-c 0 thoughts on “Cómo utilizar valores hexadecimales para definir colores en Objective C”

Objective C no tiene una función para definir un color a partir de un valor hexadecimal. Y normalmente esto es una necesidad 🙂

Pero sí tiene una función para definir un color a partir de valores RGB (Red, Green, Blue). Para ello se utliza la siguiente función:

[UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0];

A partir de ello se puede crear una macro e incluirla en algún header para que esté disponible:

#define UIColorFromRGB(rgbValue) [UIColor 
colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0
green:((float)((rgbValue & 0xFF00) >> 8))/255.0
blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

Luego se puede utilizar esta macro de la siguiente manera:

self.view.backgroundColor = UIColorFromRGB(0xCECECE);

iOS URL decode | Objective C

junio 27th, 2012 Posted by objective-c 0 thoughts on “iOS URL decode | Objective C”

Para realizar un URLDecode en iOS hay que realizar dos pasos:

  • Reemplazar los caracteres “+” por ” “
  • Reemplazar los %

Se puede realizar de la siguiente manera.

 

 NSString *decoded = [[message stringByReplacingOccurrencesOfString:@"+" withString:@" "] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

Cómo reproducir un video en loop en Objective C (iOS)

junio 5th, 2012 Posted by ios, objective-c 0 thoughts on “Cómo reproducir un video en loop en Objective C (iOS)”

Sólo hay que agregar la siguiente línea:

 


// se crea el controller
MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:url];

// se le indica para que reproduzca el video en loop
mp.repeatMode = MPMovieRepeatModeOne;

Cómo reproducir video a pantalla completa en iOS 5

junio 5th, 2012 Posted by ios, objective-c 0 thoughts on “Cómo reproducir video a pantalla completa en iOS 5”

1. Crear un proyecto en XCode, Single View Application.

2. En el .h del ViewController crear la siguiente propiedad de tipo strong.

@property (nonatomic, retain) MPMoviePlayerController *player;

3. Poner el siguiente código en el método viewDidLoad del .h del ViewController:

- (void)viewDidLoad
{
[super viewDidLoad];

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"video" ofType:@"mp4"]];

// Do any additional setup after loading the view from its nib.

MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:url];
// the frame is the size of the video on the view
mp.controlStyle = MPMovieControlStyleNone;
mp.repeatMode = MPMovieRepeatModeOne;
mp.view.frame = CGRectMake(0.0, 0.0, self.view.bounds.size.width, self.view.bounds.size.height);
self.player = mp;
[self.view addSubview:self.player.view];
[self.player prepareToPlay];

// tell the movie to play
[self.player play];
}

Copyright © 2018 programadorfreelanceargentina.com

Programador Freelance Argentina