HI tengo una clase de vista personalizada que se carga y se coloca dentro de mi vista principal con el siguiente código. El motivo es que quiero rellenarlo con contenido diferente, así que en lugar de crear una vista en código cada vez que creo una clase personalizada, puedo reutilizar esto en un bucle, etc., conseguí que esto funcione bien en el código, que está poniendo fuera de la etiqueta de botones, etc.iOS5 Asignar un .xib a una clase UIView personalizada
Pero en lugar de codificarlo todo, pensé que si creaba una nueva Vista de interfaz de usuario, construía visualmente mis campos de texto, etiquetas y botones en esta vista.
A continuación, conéctelo a mi clase personalizada.
Bu esto es donde estoy teniendo un problema, ¿cómo puedo conectar este archivo de vista xib para que se vuelva visible cuando se coloca en mi mi código. He asignado el atributo de clase personalizado dentro del archivo xib a mi archivo personalizado, pero ¿qué más me estoy perdiendo?
archivo .h:
#import <UIKit/UIKit.h>
@interface blogView : UIView
@end
.m del archivo:
#import "blogView.h"
@implementation blogView
- (id)init
{
self = [super initWithFrame:CGRectMake(0, 0, 478, 220)];
if (self != nil)
{
NSLog(@"Blog View loaded");
self.backgroundColor = [UIColor yellowColor];
UILabel *titleLbl = [[UILabel alloc] initWithFrame:CGRectMake(20, 20, 400, 40)];
[titleLbl setText:@"This is the Title"];
[self addSubview:titleLbl];
}
return self;
}
@end
mi archivo xib tiene el mismo nombre blogView.xib que es una interfaz de usuario de Vista.
Dentro de mi vista controlador principal y en el viewDidLoad tengo
blogView *blogItem = [[blogView alloc]init];
[self.view addSubview:blogItem];
Cuando ejecuto esto es todo trabaja muy bien, pero me gustaría enlazar a un archivo .xib Para ahorrar tiempo, etc. Gracias
Hm no pude conseguir que funcione dentro del init, sino que parece funcionar si lo pones en el drawRect: - (void) drawRect: (CGRect) rect { NSArray * theview = [[NSBundle mainBundle ] loadNibNamed: @ "RatingPickerView" owner: self options: nil]; UIView * nv = [theView objectAtIndex: 0]; [self addSubview: nv]; } – Dan2552
Pero, ¿cómo se hace un controlador para ello y cómo se hace referencia al controlador desde el controlador de la vista que lo contiene? – Dan2552
?? A qué te refieres –