UIScrollView и миниатюры изображений - PullRequest
2 голосов
/ 05 ноября 2010

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

Что мне нужно для этого?Правда ли, что для этого нужен вид с прокруткой?Как я могу начать?

Ответы [ 2 ]

1 голос
/ 05 ноября 2010

В вашем UIView, который будет содержать ваш UIScrollView, поместите (что-то вроде) этот код в -viewDidLoad:

UIScreen *screen = [UIScreen mainScreen];
pageWidth = screen.bounds.size.height;
pageHeight = screen.bounds.size.width;


scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, pageWidth, pageHeight)];
[scrollView setAutoresizingMask:UIViewAutoresizingNone];
[scrollView setContentSize:CGSizeMake(numPages * pageWidth, pageHeight)];
[scrollView setContentOffset:CGPointMake(pageWidth, 0)];
[scrollView setPagingEnabled:YES];
[scrollView setDelaysContentTouches:YES];
[scrollView setDelegate:self];
[scrollView setClearsContextBeforeDrawing:NO];
[scrollView setOpaque:YES];

[self.view insertSubview:scrollView atIndex:0];
[scrollView release];

// iterate through your thumbnails - which are UIViews
thumbnailViews = [NSMutableArray array];
[thumbnailViews retain];
NSUInteger pageCounter = 0;

for (...)
    {
    ThumbnailView *thumbnailView = [[ThumbnailView alloc] initWithFrame:CGRectMake( pageCounter*pageWidth, 0, pageWidth, pageHeight )];
    [thumbnailView setMultipleTouchEnabled:YES];
    [thumbnailView setViewController:self]; // this may be necessary to push/pop on navigation controller stack.
    [thumbnailView restoreState];
    [scrollView thumbnailView];
    [thumbnailViews thumbnailView];
    ++pageCounter;
}

В моем случае pageWidth, pageHeight, thumbnailViews и scrollView - все ивары для моего подкласса UIView.

0 голосов
/ 02 декабря 2010

Я только что заглянул сюда, поскольку сам узнаю о UIScrollView. Я начал пытаться заставить код westsider работать, но заметил, что он практически бесполезен. Он должен быть в UIViewController, который реализует протокол <UIScrollViewDelegate>, и такие вещи, как [scrollView thumbnailView];, не имеют смысла, так как здесь thumbnailView - это имя метода. Я считаю http://www.codeproject.com/Articles/46556/How-To-Use-UIScrollView-in-Your-iPhone-App.aspx более последовательным.

Чтобы ответить на вопрос, я думаю, что вы хотите создать UIScrollView стандартным способом - например, по ссылке, и вы хотите создать подкласс UIView с именем, скажем, UIView5, 5 UIImageViews. Затем, вместо добавления обычного UIView к UIScrollView, например [scrollView addSubview:standardUIView];, вы добавляете UIView5 объектов.

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