2013-12-13 2 views
0

Я пытаюсь добавить объект UIImageView в UIScrollView.Ошибка RunTime с UIScrollView

FVImageSequence *imageSquence; 
[imageSquence setImage:[UIImage imageNamed: @"car_0.jpg"]]; 
[scroll addSubview:imageSquence]; 
scroll.userInteractionEnabled=YES; 

imageSequence является объектом класса FVImageSequence который наследует UIImageView

@interface FVImageSequence : UIImageView { 
NSString *prefix; 
int numberOfImages; 
int current; 
int previous; 
NSString *extension; 
int increment; 
} 

Но когда я запускаю код это crashing.When я использовал прямой объект UIImageView, он работает fine.How может я почини это?

UIImageView *imageSquence; 
[imageSquence setImage:[UIImage imageNamed: @"car_0.jpg"]]; 
[scroll addSubview:imageSquence]; 
scroll.userInteractionEnabled=YES; 

Этот код работает нормально. В чем проблема с первым?

+0

Где вы инициализировать объект UIImageView? –

+0

#import #import "FVImageSequence.h" интерфейс CarViewController: UIViewController { IBOutlet FVImageSequence * imageSquence; IBOutlet UIScrollView * прокрутка; IBOutlet UIImageView * img; } } end – slaveCoder

+0

Я добавил объект в файл заголовка контроллера просмотра и обратился к этому объекту – slaveCoder

ответ

0

Вы должны начать (Alloc Init) в FVImageSequence объект перед использованием его

+0

Тогда почему он работает для объекта UIImageView? – slaveCoder

+0

Действительно? Это не возможно, вы не увидите, что 'imageView' потому что' nil' –

+0

#import #import "FVImageSequence.h" интерфейс CarViewViewController: UIViewController { IBOutlet FVImageSequence * imageSquence; IBOutlet UIScrollView * прокрутка; IBOutlet UIImageView * img; } end – slaveCoder

0

Initialize imageSquence

FVImageSequence *imageSquence = [[FVImageSequence alloc] init]; 
0

Использование ниже код:

FVImageSequence *imageSquence = [[FVImageSequence alloc] init];//must initialize FVImageSequence class 
[imageSquence setImage:[UIImage imageNamed: @"car_0.jpg"]]; 
[scroll addSubview:imageSquence]; 
scroll.userInteractionEnabled=YES; 

Thanks

0
#import <UIKit/UIKit.h> 
#import "FVImageSequence.h" 
@interface CarViewViewController : UIViewController 
{ 
IBOutlet FVImageSequence *imageSquence; 
IBOutlet UIScrollView *scroll; 
IBOutlet UIImageView *img; 
} 
@end 



@implementation CarViewViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    [imageSquence setImage:[UIImage imageNamed: @"car_0.jpg"]]; 
    [scroll addSubview:imageSquence]; 
    scroll.userInteractionEnabled=YES; 
} 

здесь это работает

[imageSquence setImage:[UIImage imageNamed: @"car_0.jpg"]]; 
    [scroll addSubview:imageSquence]; 

и это врезается

[img setImage:[UIImage imageNamed: @"car_0.jpg"]]; 
    [scroll addSubview:img]; 
+1

Проверьте, что ваш IBOutlet точно связан с соответствующим объектом? Какое исключение вы получаете? –

+0

@Bhumeshwerkatre Спасибо, сейчас работает отлично. Я думаю, что что-то не так с соединениями StoryBoard. – slaveCoder