2012-02-03 7 views
0

У меня есть массив imageNamesUIScrollView и раздвижные изображения

NSArray *imageNames = [[NSArray alloc] initWithObjects:@"image1.jpg", @"image2.jpg", @"image3.jpg", nil]; 

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

код .h:

@interface SlidePViewController : UIViewController <UIScrollViewDelegate> 
{  
    IBOutlet UIScrollView *scrollView; 
    UIImageView *imageView; 
} 

@property (nonatomic, retain) UIScrollView *scrollView; 
@property (nonatomic, retain) UIImageView *imageView; 

@end 

и я основал этот код, который должен делать свою работу

for(NSString *imageName in imageNames){ 
    UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:imageName]]; 
    image.frame = CGRectMake([imageNames indexOf:imageName] * SCREENWIDTH, 0, SCREENWIDTH, SCREENHEIGHT); 
    [scrollView addSubview:image]; 
    [image release]; 
} 

Я изменил SCREENWIDTH и SCREENWIDTH ... с номерами

image.frame = CGRectMake([imageNames indexOf:imageName] * 100, 0, 11, 888); 

Ошибка:

invalid operand to binary expression('id' and 'int')

Я не уверен, что этот код будет делать то, что я хочу:/

UPDATE я изменить линию по этому

image.frame = CGRectMake([imageNames indexOfObject:imageName] * 1000, 0, 1100, 888); 

ошибка исправлена, но я не могу сделать раздвижными, первое изображение отображается в UIScrollView, и оно не изменяется с горизонтальным слайдом.

+0

Я думаю, что ошибка не из-за установки рамы – rakeshNS

+0

Какая линия вы заметили эту ошибку? – Satyam

+0

Эта строка image.frame = CGRectMake ([imageNames indexOf: imageName] * 100, 0, 11, 888); – user567

ответ

0

Возможно, ошибка в строке ниже.

image.frame = CGRectMake([imageNames indexOf:imageName] * SCREENWIDTH, 0, SCREENWIDTH, SCREENHEIGHT); 

В то попробуйте image.frame = CGRectMake(320, 0, SCREENWIDTH, SCREENHEIGHT);

Если выполнить его без ошибок, что означает, что вам нужно изменить в кадре.

0
image.frame = CGRectMake([imageNames indexOfObject:imageName] * 100, 0, 11, 888); 
0

Метод indexOf: не существует в документации NSArray, вы должны попробовать позвонить:

- (NSUInteger)indexOfObject:(id)anObject 
Смежные вопросы