Проблема приложения iPhone: не загружается последовательность UIImageView - PullRequest
0 голосов
/ 04 июля 2011

Прежде всего, я только начинаю разработку Xcode и iPhone, поэтому, пожалуйста, потерпите меня, если эти проблемы излишни ... Я еще не нашел ответа, поэтому я и публикуюсь. Второе ... хорошо, есть второе ... так что я перейду к вопросу.

Я использую представление UIImage для фонового изображения моего TheEyeViewController, и мне нужен другой UIImageView для установки поверх фона UIImageView. Передний план UIImageView должен загрузить последовательность изображений ... но это не работает. Когда я пытаюсь настроить вид изображения переднего плана с помощью кода, я не думаю, что компилятор способен различать 2 вида изображений. Он не падает ... последовательность просто не отображается.

Любая помощь в этом очень ценится. Спасибо за ваше время.

//. Ч

UIImageView * imageView;

@ свойство (неатомное, сохраняется) IBOutlet UIImageView * imageView;

//.m

- (void)viewDidLoad

{

 imageView.animationImages = [NSArray arrayWithObjects:
                                 [UIImage imageNamed:@"openingSeq1.jpg"],
                                 [UIImage imageNamed:@"openingSeq2.jpg"],
                                 [UIImage imageNamed:@"openingSeq3.jpg"],
                  [UIImage imageNamed:@"openingSeq4.jpg"],
                  [UIImage imageNamed:@"openingSeq5.jpg"],
                  [UIImage imageNamed:@"openingSeq6.jpg"],
                  [UIImage imageNamed:@"openingSeq7.jpg"],
                  [UIImage imageNamed:@"openingSeq8.jpg"],
                  [UIImage imageNamed:@"openingSeq9.jpg"],
                  [UIImage imageNamed:@"openingSeq10.jpg"],nil];

    imageView.animationDuration = 2;
    imageView.animationRepeatCount = 1;
    [imageView startAnimating];
    [self.view addSubview:imageView];

if (imageView.image == nil) { labelRandText.text = @ "Изображения не загружены."; }

    [super viewDidLoad];

} 

1 Ответ

1 голос
/ 06 июля 2011

Общие комментарии, которые могут или не могут помочь:

Предположим, [UIImage imageNamed:@"openingSeq1.jpg"] возвращает nil, это то же самое, что отправка пустого массива, потому что этот nil будет выглядеть как тот, который завершает список вещей, переданных arrayWithObjects:.Вероятно, стоит добавить быстрое:

NSLog(@"os1: %@", [UIImage imageNamed:@"openingSeq1.jpg"]);

Если это показывает, что вы получаете ноль, значит, ваш проект настроен неправильно, так что UIImage не может найти файлы.

Если imageView уже находится в вашем представлении в Интерфейсном Разработчике, тогда [self.view addSubview:imageView]; является избыточным, но не должен быть вредным.

An NSLog(@"%@", imageView) (или даже тот, который регистрирует и изображение, к которому вы пытаетесь обратиться, идругой, который, по вашему мнению, может быть проблематичным, поэтому вы можете проверить, не совпадают ли они), может использоваться для проверки правильности подключения в Интерфейсном Разработчике.

Кроме того, технически вам следует вызвать[super viewDidLoad]; перед любым вашим собственным кодом, потому что логически вы хотите, чтобы суперкласс сделал то, что должен, прежде чем делать то, что должен делать.Однако, как и в случае с addSubview, это не должно давать никаких шансов в вашем конкретном случае, потому что базовый класс UIViewController ничего не делает в viewDidLoad.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...