2013-12-09 1 views
0

У меня есть прокрутка изображений, я хотел бы перечислить их и перейти к другому представлению.Передача данных из uiscrollview с помощью pagecontroller в другой диспетчер представлений

Как только я нахожу изображение, весь вид должен подтолкнуть к другому виду. это мое ScrollView.h как следующий

@interface PeekPagedScrollViewController : UIViewController <UIScrollViewDelegate> 

@property (nonatomic, strong) IBOutlet UIScrollView *scrollView; 
@property (nonatomic, strong) IBOutlet UIPageControl *pageControl; 

@end 

и это мой массив изображений, как следовать

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    // Set up the image you want to scroll & zoom and add it to the scroll view 
    self.pageImages = [NSArray arrayWithObjects: 
         [UIImage imageNamed:@"photo1.png"], 
         [UIImage imageNamed:@"photo2.png"], 
         [UIImage imageNamed:@"photo3.png"], 
         [UIImage imageNamed:@"photo4.png"], 
         [UIImage imageNamed:@"photo5.png"], 
         nil]; 

так, что мне нужно, когда пользователь потрогать фото перейти к другому detailViewController; например, если выбран Фото1 это фото увеличить на другом ViewController , так что если кто-нибудь знает решение или подходящий учебник

+0

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

+0

Предоставить некоторый код, неясно, где вы застряли, пожалуйста, укажите? – suhit

+0

см. Ниже код –

ответ

0

Добавить UITapGestureRecognizer в UIScrollView, установите delegate себя, а затем этот метод должен дать вам индекс повернутого изображения:

- (void)singleTapGestureCaptured:(UITapGestureRecognizer *)gesture{ 

    CGPoint touchPoint = [gesture locationInView:<yourScrollView>]; 

    NSUInteger touchedPage = floorf(touchPoint.x/<yourScrollView>.frame.size.width); 
    if ([<arrayOfImages> count>] > 1) { 

     touchedPage = touchedPage % ([<arrayOfImages> count] - 1); 
    } 

    NSLog(@"Touched page: %d", touchedPage); 

    //Use touchedPage and push the next view controller here 

} 

Чтобы добавить жест распознаватель, добавьте эти строки в viewDidLoad (или вы можете использовать тыс e IB):

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapGestureCaptured:)]; 
[<yourScrollView> addGestureRecognizer:singleTap]; 
+0

, пожалуйста, можете ли вы мне сообщить, как импортировать uitapgesturerecognizer; или какой каркас я могу импортировать –

+0

@MohamedReda Отредактированный мой ответ, нет необходимости добавлять фреймворк –

+0

большое спасибо за вашу проблему решена –

1

Лучше использовать UITableView и загрузить все изображения в UITableViewCell с помощью отложенной загрузки, и при выборе любого изображения, то didSelectRowAtIndexPath даст вам индекс для выбранного изображения и таким образом вы можете перемещаться и передавать данные с одного viewController на nextViewController.

См Lazy load images in UITableView

+0

, вы знаете, что учебник объясняет, что –

+0

У меня есть обновленный ответ. Пожалуйста, проверьте его. – Smita

0

Лучше использовать UITableView или GMGridView для этого примера кода ниже.

[theApp.fullViewModeObject.statusDicts addObjectsFromArray:statusDicts]; 
[self.navigationController pushViewController:theApp.fullViewModeObject animated:YES]; 

theApp.fullViewModeObject является объектом fullviewmode класса [theApp.fullViewModeObject.statusDicts] является массивом для загрузки деталей изображения

+0

вы можете проверить отправленный код; и можете ли вы дать мне более подробно –

Смежные вопросы