как pushViewController в другой вид с изображениями в виде прокрутки - PullRequest
0 голосов
/ 14 октября 2011

У меня есть scrollview из images, я хотел бы добавить их на вкладку и перейти к другому виду.

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

Из этого вида в другой вид

1

Подробный вид

2

Извините, что не задал вопрос четко.

мой scrollview

-(void)pictureScrolling
{
//init scrollview in location on screen
scrollview = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 100, 320, 290)];   
scrollview.backgroundColor = [UIColor redColor];
//pass image filenames
NSMutableArray *fileNames = nearbyFrog.imageFiles; //[[[NSMutableArray alloc] init] autorelease];

//setup the array of uiimageviews
NSMutableArray *imgArray = [[NSMutableArray alloc] init];
UIImageView *imageView;

//loop through the array imgNames to add file names to imgArray
for (NSString *imageName in fileNames) {

    imageView = [[UIImageView alloc] init];
    imageView.image = [UIImage imageNamed:imageName];
    imageView.contentMode = UIViewContentModeScaleAspectFit;
    [imgArray addObject:imageView];
    [imageView release];
}

CGSize pageSize = scrollview.frame.size; 
NSUInteger page = 0;

for (UIView *viewForScrollView in imgArray) {

    [scrollview addSubview:viewForScrollView];

    viewForScrollView.frame = CGRectMake(pageSize.width * page++ +10, 0, pageSize.width -20 , pageSize.height);

    // making use of the scrollView's frame size (pageSize) so we need to;
    // +10 to left offset of image pos (1/2 the gap)
    // -20 for UIImageView's width (to leave 10 gap at left and right)
}
//add scroll view to view
[self.view addSubview:scrollview];
scrollview.contentSize = CGSizeMake(pageSize.width * [imgArray count], pageSize.height);

//scrollview.contentSize = CGSizeMake(320 *viewcount + 20, 290 );
scrollview.showsHorizontalScrollIndicator =NO;
[scrollview setPagingEnabled:YES];
scrollview.delegate =self;

//paging function for scrollview
CGRect frame = [[UIScreen mainScreen] applicationFrame];
self.pageControl = [[[UIPageControl alloc] initWithFrame:CGRectMake(0, 100, 100, 50)] autorelease];
self.pageControl.center = CGPointMake(frame.size.width/2, frame.size.height-60);
self.pageControl.numberOfPages = [fileNames count];
[self.view addSubview:self.pageControl];    

//handle Touch Even
[pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];
[imgArray release];

} ​​

кто-нибудь знает, как это сделать, или может показать мне учебник?

Спасибо

1 Ответ

1 голос
/ 14 октября 2011

Я думаю, что это лучший способ реализовать это

  1. Создайте свой собственный класс UIImageView. Это необходимо для хранения дополнительного свойства, которое поможет вам определить, какое изображение нужно щелкнуть.
  2. Создайте делегат для этого класса, который вызывается с помощью события одного нажатия, вызванного в UIImageView
  3. Добавьте изображения в представление прокрутки, используя этот пользовательский класс. Представитель этого класса скажет вам, какое изображение было прослушано. Вы можете использовать это, чтобы выдвинуть новый контроллер представления, передавая детали изображения (при необходимости).

Пример кода в классе ThumbImageView можно найти в примере scrollviewSuite

http://developer.apple.com/library/ios/#samplecode/ScrollViewSuite/Introduction/Intro.html#//apple_ref/doc/uid/DTS40008904-Intro-DontLinkElementID_2

...