Я создаю приложение для iPhone Utility, которое использует UIImageView для отображения анимации.В методе viewDidLoad () MainViewController я создаю экземпляр CustomClass, а затем настраиваю анимации:
- (void)viewDidLoad
{
[super viewDidLoad];
cc = [CustomClass new];
NSArray * imageArray = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"image-1-off.jpg"],
[UIImage imageNamed:@"image-2-off.jpg"],
[UIImage imageNamed:@"image-3-off.jpg"],
[UIImage imageNamed:@"image-4-off.jpg"],
nil];
offSequence = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
offSequence.animationImages = imageArray;
offSequence.animationDuration = .8;
offSequence.contentMode = UIViewContentModeBottomLeft;
[self.view addSubview:offSequence];
[offSequence startAnimating];
}
Это прекрасно работает.Однако я хотел бы иметь возможность переместить весь приведенный выше код, который устанавливает UIImageView, в мой CustomClass.Проблема в строке от второй до последней:
[self.view addSubview: offSequence];
Мне в основном нужно заменить «self» ссылкой на MainControllerView, поэтому я могу вызватьaddSubview из моего CustomClass.Я попытался создать экземпляр var CustomClass с именем mvc и метод установки, который принимает в качестве аргумента ссылку на MainViewController:
- (void) setMainViewController: (MainViewController *) the_mvc
{
mvc = the_mvc;
}
И затем я вызвал его в MainViewController следующим образом:1012 * [cc setMainController: MainViewController: self];
Но это приводит ко всевозможным ошибкам, которые я могу опубликовать здесь, но мне кажется, что я могу это слишком усложнить.Есть ли более простой способ ссылаться на MainViewController, который создал мой CustomClass?