我有一個UIViewController
,其中UIImageView
和UIImage
的數組。如何將幻燈片功能發展到右側或左側以將圖像更改爲下一個陣列位置?如何通過從UIViewController向右或向左滑動來更改UIImageView中的圖像
5
A
回答
8
常用的方法是UIScrollView其中一個圖像的大小,啓用分頁功能。
添加圖像作爲子視圖並設置內容的大小是這樣的...
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
}
您也可能會關閉彈跳,滾動指標等,這取決於你想要的效果的細節。
1
你可以簡單地獲得刷卡方向向左或向右UISwipeGestureRecognizer
這樣
swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(detectSwipe:)];
[swipeGesture setNumberOfTouchesRequired:1];
[swipeGesture setDirection:UISwipeGestureRecognizerDirectionDown | UISwipeGestureRecognizerDirectionUp];
[appView addGestureRecognizer:swipeGesture];
的方法detectSwipe
申報處理您的向前和向後的UIImage數組玩。您還可以查看Apple's SimpleGestureRecognizers Demo
希望它可以幫助你!
2
使用的UIScrollView和UIPageControl,拖動ñ下降的UIScrollView和UIPageControl確保它們不重疊,創造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;
}
相關問題
- 1. 向左或向右滑動圖像
- 2. Android通過向左/向右滑動來更改佈局
- 3. 向左或向右滑動並從左上角滑動更多
- 4. 向右或向左滑動
- 5. Android viewPager圖像從右向左滑動
- 6. 如何在Android中顯示圖像並通過向左/向右滑動來更改它?
- 7. 從左向右滑動Div
- 8. 全景項向左或向右滑動
- 9. android:向左或向右滑動滑動視圖
- 10. 如何通過左右滑動來更改活動
- 11. 通過jQuery或CSS3從右向左滑動div
- 12. 如何從右向左滑動Jquery?
- 13. jQuery:向左滑動並向右滑動
- 14. 如何讓圖像在空白div上從右向左滑動?
- 15. 如何在圖像幻燈片上從左向右滑動div?
- 16. 如何在滑動屏幕上的活動之間進行右向或左向或向左向右轉換
- 17. 如何在HorizontalScrollView中從右向左更改滾動方向
- 18. 如何從右向左更改滾動條的方向?
- 19. 滑動的UIViewController左/右
- 20. 如何通過向左滑動或在android中一個一個切換圖像?
- 21. 列表視圖項向左滑動並向右滑動?
- 22. 向左或向右移動從MATLAB
- 23. unity3d v4.6中的動畫按鈕(向左滑動,向右滑動,向下滑動)
- 24. 如何在Android中將圖像從左到右從右向左移動?
- 25. 如何將圖像從左到右或從右到左滑動使用jquery?
- 26. 向左滑動向右滑動片段中的textview - Android應用
- 27. JQueryUI - 同時向左/向右滑動div
- 28. 向左/向右滑動網頁
- 29. 使div顯示從左向右滑動
- 30. jQuery:從右向左滑動內容?
的IBOutlet中我也嘗試一下,不知道如果我正確地按照你的建議,它不起作用,scrollview保持空白。也許我錯過了一些東西,因爲我不瞭解對象,事件是如何工作的......謝謝 – Sweet
這個答案驅使我去解決我的問題的鏈接:http://www.iosdevnotes.com/2011/03/uiscrollview-分頁/。感謝Danh,我把它投票並標記爲回答 – Sweet