2012-05-06 23 views

cevap

8

yaygın yaklaşım, bir UIScrollView görüntülerden birine boyutudur.

subviews olarak resim ekleme ve bunun gibi içeriği boyutunu ayarlamak ...

NSArray *images; 
CGSize imageSize; 

self.scrollView.frame = CGRectMake(10,10,imageSize.width,imageSize.height); 
self.scrollView.contentSize = CGSizeMake(imageSize.width * images.count, imageSize.height); 
self.scrollView.pagingEnabled = YES; 

CGFloat xPos = 0.0; 

for (UIImage *image in images) { 
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
    imageView.frame = CGRectMake(xPos, 0.0, imageSize.width, imageSize.width); 
    [self.scrollView addSubview:imageView]; 
    xPos += imageSize.width; 
    // assuming ARC, otherwise release imageView 
} 

Ayrıca, istediğiniz etkinin ayrıntıları bağlı vb göstergeler kaydırma, sıçrama kapatabilir. UIScrollView ve UIPageControl kullanarak

+0

ait IBOutlet oluşturmak, UIScrollView ve UIPageControl onlar örtüşmeyen emin olun damla o Scrollview boş tutar, çalışmıyor. Belki çünkü nesneler, olaylar nasıl çalıştığını anlama benim eksikliği ... teşekkür şey eksik – Sweet

+0

Bu cevap benim sorun çözüldü linke bana sürdü: http://www.iosdevnotes.com/2011/03/uiscrollview- sayfalama /. teşekkürler Danh, onu oy verilen ve cevap olarak işaretlenmiş – Sweet

1

Sadece tokatlamak yönünü alabilirsiniz sol veya Yöntem detectSwipe UIImage dizisi ile oynamak için geriye sizin ileri işlemek ve için beyan bu

swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(detectSwipe:)]; 
[swipeGesture setNumberOfTouchesRequired:1]; 
[swipeGesture setDirection:UISwipeGestureRecognizerDirectionDown | UISwipeGestureRecognizerDirectionUp]; 
[appView addGestureRecognizer:swipeGesture]; 

gibi sağ ile UISwipeGestureRecognizer edilir. Ayrıca size yardımcı Apple's SimpleGestureRecognizers Demo

Umut kontrol edebilirsiniz! Disk belleği etkin olan

2

, sürükle n Doğru önerinizi takip ediyorum mi bilmiyorum, denemek vermedi both.Set

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // 1 
imageArray = [NSArray arrayWithObjects: 
        [UIImage imageNamed:@"image2.jpg"], 
        [UIImage imageNamed:@"man-actor-Ashton-Kutcher-Wallpaper.jpg"], 
        [UIImage imageNamed:@"image1.jpg"], 
        [UIImage imageNamed:@"man-curl.jpg"], 
        [UIImage imageNamed:@"man-in-suit.jpg"], 
        nil]; 


    for (int i = 0; i < imageArray.count; i++) { 
    CGRect frame; 
    frame.origin.x = self.scrollView.frame.size.width * i; 
    frame.origin.y = 0; 
    frame.size = self.scrollView.frame.size; 

    UIImageView *subview = [[UIImageView alloc] initWithFrame:frame]; 
    subview.image = [imageArray objectAtIndex:i]; 
    subview.contentMode = UIViewContentModeScaleAspectFit; 
    [self.scrollView addSubview:subview]; 
    } 

    self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * imageArray.count, self.scrollView.frame.size.height); 
    pageControl.numberOfPages = imageArray.count; 
} 

- (void)scrollViewDidScroll:(UIScrollView *)sender { 
    // Update the page when more than 50% of the previous/next page is visible 
    CGFloat pageWidth = self.scrollView.frame.size.width; 
    int page = floor((self.scrollView.contentOffset.x - pageWidth/2)/pageWidth) + 1; 
    self.pageControl.currentPage = page; 
} 
İlgili konular