Анимированный экран Ios Splash - PullRequest
0 голосов
/ 06 апреля 2019

Я пытаюсь заставить мой экран-заставку отображать 3 изображения друг за другом.

Я пробовал несколько вещей, но продолжаю сталкиваться с ошибками, если кто-нибудь увидит, что я делаю неправильно в моем коде здесь?

@interface CydiaLoadingViewController : UIViewController
@end

%hook CydiaLoadingViewController
-(void)loadView {
%orig;
UIView *xiView = [[UIView alloc]initWithFrame:[UIScreen mainScreen].bounds];
xiView.backgroundColor = [UIColor whiteColor];
UIImage *image1 = [UIImage imageNamed:@"image1.png"];
UIImage *image2 = [UIImage imageNamed:@"image2.png"];
UIImage *image3 = [UIImage imageNamed:@"image3.png"];
UIImageView *logo =[[NSArray alloc] initWithObjects:image1,image2,image3, nil];
logo.imageView.animationRepeatCount = 7;
[logo.imageView startAnimating];
logo.frame = CGRectMake([UIScreen mainScreen].bounds.size.width / 2 - 60, [UIScreen mainScreen].bounds.size.height / 2 - 90, 120, 120);
logo.layer.masksToBounds = YES;
logo.layer.cornerRadius = 10;
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, [UIScreen mainScreen].bounds.size.height / 2 + 60, [UIScreen mainScreen].bounds.size.width, 40)];
label.text = @"Cydia";
label.textAlignment = NSTextAlignmentCenter;
[label setFont:[UIFont boldSystemFontOfSize:30]];\
[xiView addSubview:logo];
[xiView addSubview:label];
[[self view] addSubview:xiView];
}

-(BOOL)hidesNavigationBar {
    return YES;
}
%end

ошибка

Tweak.xm:92:14: error: cannot initialize a variable of type 'UIImageView *' with an
      rvalue of type 'NSArray *'
UIImageView *logo =[[NSArray alloc] initWithObjects:image1,image2,image3, nil];

1 Ответ

1 голос
/ 06 апреля 2019

Ошибка в том, что вы присвоили экземпляр NSArray переменной UIImageView в этой строке.

UIImageView *logo =[[NSArray alloc] initWithObjects:image1,image2,image3, nil];

Как я понимаю, вы хотите использовать UIImageView для представления этих 3 изображенийпо одному.В этом случае вы должны создать UIImageView обычным образом и использовать UIImageView s animationImages свойство .

Например

UIImageView *logo = [[UIImageView alloc] init];
logo.animationImages = [[NSArray alloc] initWithObjects:image1,image2,image3, nil];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...