Persistiendo datos en iOS

iOS de forma nativa tiene su propia herramienta, Core Data. Un ejemplo fácil para comenzar y hacerse con esta herramienta: https://github.com/iascchen/SwiftCoreDataSimpleDemo Ejemplos de insert, update y delete: https://www.andrewcbancroft.com/2015/02/18/core-data-cheat-sheet-for-swift-ios-developers/#update-single-entity

iOS – Custom Fonts

Tres pasos para añadir una nueva fuente a iOS: Añadir fuente .ttf o .otf al proyecto. Asegurarse que de que se selecciona el Target del proyecto al añadir la fuente. Modificar el info.plist del proyecto añadiendo una variable de tipo Array con el nombre «Fonts provided by application» y añadir una línea de tipo String por… Seguir leyendo iOS – Custom Fonts

Formatear texto HTML + negrita en UILabel

Interpretar un texto con etiquetas HTML no es tarea fácil en iOS. Para interpretar las etiquetas habrá que usar el siguiente código: let textFormat = try! NSAttributedString( data: textToFormat!.dataUsingEncoding(NSUnicodeStringEncoding, allowLossyConversion: true)!, options: [ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil) Si el anterior código no interpreta etiquetas <b> o <strong> (iOS 9), habrá que utilizar el siguiente código. Añadir… Seguir leyendo Formatear texto HTML + negrita en UILabel

iOS – Creación de Targets

Si queremos una configuración distinta para nuestro proyecto, por ejemplo para crear la versión lite o la versión pro de nuestra aplicación, seguir los siguientes pasos para realizar una configuración personalizada: Pulsar sobre la cabecera de nuestro proyecto en la vista de carpetas, esto abrirá la configuración del proyecto (General, Build Settings, Info…) En la… Seguir leyendo iOS – Creación de Targets

Publicada el
Categorizado como General

Diseño de Layouts: @Strings

Cuando estamos diseñando un layout para nuestra aplicación vamos poniendo textos de prueba para ver que tal va quedando pero, si este texto va a cambiar debido a que el texto venga de servidor (lista de comentarios, nombres de amigos, textos, etc…) no podemos dejar visible un Lorem Ipsum a la vista del usuario mientras… Seguir leyendo Diseño de Layouts: @Strings

Limpiar toda la pila de la aplicación

A veces añadir la bandera FLAG_ACTIVITY_CLEAR_TOP al Intent no es suficiente para limpiar toda la pila o pasa de nosotros. Alternativa: Intent intent = new Intent(getApplicationContext(), LoginActivity.class); ComponentName cn = intent.getComponent(); Intent mainIntent = IntentCompat.makeRestartActivityTask(cn); startActivity(mainIntent);

Git – Eliminar un directorio del index

Problema: Hemos sincronizado un directorio que no deseábamos con Git (por ejemplo directorio bin o gen en un proyecto android). Solución: Mediante comandos desde una terminal Git Bash (Windows) o la terminal de Mac OS. 1. Eliminar directorio del index: git rm -r –cached ../MiProyecto/bin 2. Commit de los directorios eliminados: git commit -m «Descripción del… Seguir leyendo Git – Eliminar un directorio del index

Barra bottom con varios elementos del mismo tamaño

Problema: Se quiere implementar una barra en la parte inferior con varios botones (Como Instagram) y cada uno de ellos con el mismo tamaño, ya tenga 3, 4 o 5. Este ejemplo incluye separadores entre grupos de elementos. Solución: <LinearLayout android:id=»@+id/barra_bottom» android:layout_width=»wrap_content» android:layout_height=»60dp» android:layout_alignParentBottom=»true» android:layout_alignParentLeft=»true» android:layout_alignParentRight=»true» android:background=»@drawable/entidades_menu_fondo» >   <LinearLayout android:layout_width=»15dp» android:layout_height=»match_parent» android:layout_weight=»1″ >   <RelativeLayout… Seguir leyendo Barra bottom con varios elementos del mismo tamaño

Tamaño de ListView dentro de ScrollView

Problema: Queremos colocar un listview dentro de un scrollview (por ejemplo para mostrar comentarios en una ficha de un producto), y aparece cortado al final. Solución private void setListViewHeight(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if(listAdapter == null) return; int totalHeight = 0; int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.AT_MOST); int totalChildren = 0; for (int j =… Seguir leyendo Tamaño de ListView dentro de ScrollView