У меня возникла проблема при реализации MVC. Я создал подкласс UIView и разработал свое собственное представление. Я создал подкласс UIViewController и указал его представление на мой пользовательский класс представления. Наконец, я создал подкласс NSObject и создал модель для моего контроллера. Когда я запускаю приложение, я получаю черный экран ... Любая идея по этому поводу?Проблема при реализации MVC
== My Model ==
- (id) init
{
imgArray = [[NSMutableArray alloc] initWithObjects: [UIImage imageNamed:@"scene.jpg"],
[UIImage imageNamed:@"scene1.jpg"],
[UIImage imageNamed:@"scene2.jpg"], nil];
return self;
}
== Мой контроллер ==
- (void)viewDidLoad {
[super viewDidLoad];
NSNotification
CGRect mainFrame = [[UIScreen mainScreen] applicationFrame];
// Get the view
MVCView *myView = [[MVCView alloc] initWithFrame:mainFrame];
// Get the data
MVCModel *myModel = [[MVCModel alloc] init];
myView.myImgView.image = [myModel.imgArray objectAtIndex:0];
//[self.view addSubview:myView];
[myView setNeedsDisplay];
self.view = myView;
self.title = @"MVC";
}
== My View ==
- (id)initWithFrame:(CGRect)frame {
if ((self = [super initWithFrame:frame])) {
// Initialization code
CGRect imgFrame = CGRectMake(5, 20, 150, 150);
//myImgView.image = [UIImage imageNamed:@"scene.jpg"];
myImgView.frame = imgFrame;
CGRect lblFrame = CGRectMake(5, 150, 50, 50);
myLabel.text = @"Nature is beautiful";
myLabel.frame = lblFrame;
CGRect sldFrame = CGRectMake(5, 200, 50, 50);
mySlider.minimumValue = 0;
mySlider.maximumValue = 100;
mySlider.frame = sldFrame;
}
return self;
}
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
CGPoint imgPoint = CGPointMake(10, 20);
[self.myImgView drawAtPoint:imgPoint];
CGPoint lblPoint = CGPointMake(10, 160);
[self.myLabel drawAtPoint:lblPoint];
CGPoint sldPoint = CGPointMake(10, 210);
[self.mySlider drawAtPoint:sldPoint];
}
Hi Rano, Я использую приложение на основе навигации, поэтому я поставил свой пользовательский контроллер представления в стек. Я получаю панель навигации с правильным содержимым, но часть просмотра черная. – Abhinav
@Abhinav: вы пытались выделить свой вид в методе init вашего контроллера, установленного в viewDidLoad? – rano