我正在構建一個包含10個圖像的可滾動圖庫。當我停在一幅圖像上時,我希望當前的圖像看起來比其他任何一邊的圖像高一點。我如何獲得焦點並調整框架?一旦拖動結束,函數scrollViewDidEndDecelerating被調用。我如何獲得對該圖像視圖框架的引用?UIScrollview使當前圖像更大
1
A
回答
1
如果您的圖像列表是有限的,並且不會太大,我會保留一個NSArray對圖像的引用。然後,在scrollViewDidEndDecelerating
中,您可以使用滾動偏移來確定滾動停止的位置,並將其與整個視圖成比例地放置,並且您應該能夠分辨要顯示的數組中的哪個索引圖像。
像這樣的東西(語法可能會關閉)的
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
//assumes that "arrayOfImages" is the array of images that you are showing
//contentOffset.y assumes your scroll view is scrolling vertically, switch to x if horizontal
int indexOfImageToShow = scrollView.contentOffset.y/[arrayOfImages count];
UIImage *imageToShow = [arrayOfImages objectAtIndex:indexOfImageToShow];
}
2
退房iCarousel,而不是重新發明輪子.... https://github.com/nicklockwood/iCarousel
3
比方說,你在self.imageViews
持有參考UIImageView
S,你可以嘗試這樣的事情。
CGFloat centerX = CGRectGetMidX(self.view.bounds);
for(UIImageView imgView * in self.imageViews)
{
if(CGRectContainsPoint(imgView, centerX)) // If imgView is close to center
{
imgView.transform = CGAffineTransformMakeScale(1.2f, 1.2f);
}
else
{
imgView.transform = CGAffineTransformIdentity;
}
}
我以爲你是橫向滾動,但如果你是垂直做它,你需要使用centerY
代替。
相關問題
- 1. add_image_size不更新當前圖像大小
- 2. 使用UIScrollview不顯示在照片庫中的當前圖像
- 3. UIscrollview初始圖像大小
- 4. UIScrollView的大小和圖像的大小
- 5. 使用UIScrollView更改圖像的alpha值
- 6. 當前從多個圖像的UIScrollview釋放內存的方式
- 7. UIScrollView與大圖
- 8. UIScrollView與大量的圖像顯示
- 9. UIScrollView與圖像
- 10. UIScrollView與圖像
- 11. 當單擊圖像QFrame大小更改
- 12. 取消當前UIScrollView觸摸
- 13. 使UIImageView保持當前大小而不拉伸圖像?
- 14. 如何更改UIScrollView上的圖像
- 15. uiscrollview更改圖像視圖中的圖像
- 16. 更改UIScrollview方法以允許使用圖像加載視圖
- 17. 帶圖像的UIScrollView
- 18. UIScrollView加載圖像
- 19. JSON圖像在UIScrollView
- 20. 枕頭使圖像比以前更大尺寸
- 21. 使用jQuery在懸停狀態下更改當前圖像
- 22. UIScrollView和圖像縮略圖
- 23. FlexSlider:中心當前圖像
- 24. ViewSwitcher中的當前圖像
- 25. carouFredSel當前圖像標題
- 26. UIScrollView,如何設置圖像大小的大小?
- 27. 如何讓圖像在放大UIScrollView時無法調整大小?
- 28. 從UIScrollView抓取當前圖像,轉換成黑白圖像,然後回滾到滾動視圖
- 29. 使用大量子視圖優化UIScrollView
- 30. 適當的圖像大小
謝謝。但是,如何將imageToShow設置爲視圖? – user1191140