-
Notifications
You must be signed in to change notification settings - Fork 5
Checkbox
Un MLCheckBox es un widget que tiene dos estados, on y off. El uso del mismo, combinado con el MLCheckList provee una estructura de selección de items.
para agregar un radio button a un xib, seguir los siguientes pasos:
- Agreagar una vista al xib
- Ponerle como custom class la clase MLRadioButton
Para crearlo usando Autolayouts, inicializar el botón con el siguiente método:
[[MLCheckBox alloc] init];
y luego aplicarle los constraints
El radio button preferentemente tiene que ser cuadrado de 15x15
El CheckBox sobre-escribe la nueva funcionalidad de MLBooleanWidget para habilitar o deshabilitar el elemento usando el siguiente método:
- (void)setEnabled:(BOOL)enabled Animated:(BOOL)animated
El elemento queda grisado en el estado On u Off en el que estaba al momento de ejecutar ese método, y no va a admitir cambios de estado mientras está Deshabilitado. Va a realizar la siguiente animación:
- Inicializando el check button
MLCheckBox *checkBox = [[MLCheckBox alloc] init];
- Seteándole el estado luego de que fue creado
[checkBox off];
- Verificando el estado
[checkBox isOff];
- Habilitar o Deshabilitar
[checkBox setEnabled:YES Animated:YES];
[checkBox setEnabled:NO Animated:YES];
Se puede crear un check list con un NSArray de MLCheckBox y ésto crea el MLCheckList con todos los estados de los check buttons en clear
MLCheckBox *checkBox0 = [[MLCheckBox alloc] init];
MLCheckBox *checkBox1 = [[MLCheckBox alloc] init];
MLCheckBox *checkBox2 = [[MLCheckBox alloc] init];
MLCheckList *checkList = [MLCheckList checkListWithCheckBoxes:@[checkBox0, checkBox1, checkBox2]];
Se puede crear un check list con una longitud y ésto creara internamente una lista de MLCheckBox.
[MLCheckList checkListWithCheckBoxCount:4]
Luego se puede acceder a ésta lita de la siguiente manera:
[checkList checkBoxes]
Si el check list se crea con 0 elementos o elementos negativos, éste lanzará una exception.
/**
* MLCheckList manage the multiple selection of an array of MLCheckBox
*/
@interface MLCheckList : NSObject
/**
* Static initialiser that returns an instance of MLCheckList.
* This method might be called only if you want to create the
* MLRadioButton objects, if you already have this object, whether you initialised theme in the
* xib file or by code, you might initialise the MLCheckList with
* checkListWithCheckBoxes: initialiser
*
* @parms checkBoxCount the amount of MLRadioButton objects that might initialise
* the return instance
*/
+ (instancetype)checkListWithCheckBoxCout:(NSUInteger)checkBoxCount;
/**
* Static initialiser that returns an instance of MLCheckList.
* This method might be called only if you already have the
* MLCheckBox objects, if you dont have this object, you might initialise
* the MLCheckList with radioButtonCollectionWithRadioButtonCount: initialiser
*
* @parms checkBoxes An array of MLCheckBox
*/
+ (instancetype)checkListWithCheckBoxes:(NSArray *)checkBoxes;
/**
* Returns an array of MLCheckBox
*/
- (NSArray *)checkBoxes;
/**
* Toggles de state of the MLCheckBox to on if its current state is off, or to off if its current state is on
*/
- (void)toggleCheckBoxAtIndex:(NSUInteger)index;
/**
* Returns the indexes in an array of the currently MLCheckBox with state in on
*/
- (NSArray *)indexesOfSelectedCheckBoxes;
@end
- Inicializando el check list
MLCheckList *checkList = [MLCheckList checkListWithCheckBoxCount:3];
- Seleccionando un radio button en particular
[checkList toggleRadioButtonAtIndex:2];
- Obteniendo el índice del radio button seleccionado
NSArray *indexesOfSelectedCheckBoxes = [checkList indexesOfSelectedCheckBoxes];