我是新来的,需要一些帮助,我正在为 ipad 制作一个 ios 应用程序,并希望能够在页面 View 中使用自定义和/或库存转换为页面转换设置动画。
在各个页面 (PageView) 中设置全屏照片的正确方法是什么?类似于苹果照片应用程序。我希望能够设置一个基本的幻灯片并通过它们进行过渡。
感谢所有帮助。
谢谢
编辑:哇,这些响应速度很快,是否也可以有自定义动画?
Best Answer-推荐答案 strong>
你可以这样创建:-
- (void)viewDidLoad {
[super viewDidLoad];
UIScrollView *scr=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
scr.tag = 1;
scr.autoresizingMask=UIViewAutoresizingNone;
[self.view addSubview:scr];
[self setupScrollView:scr];
UIPageControl *pgCtr = [[UIPageControl alloc] initWithFrame:CGRectMake(0, 264, 480, 36)];
[pgCtr setTag:12];
pgCtr.numberOfPages=10;
pgCtr.autoresizingMask=UIViewAutoresizingNone;
[self.view addSubview:pgCtr];
}
- (void)setupScrollViewUIScrollView*)scrMain {
// we have 10 images here.
// we will add all images into a scrollView & set the appropriate size.
for (int i=1; i<=10; i++) {
// create image
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat"sti%02i.jpeg",i]];
// create imageView
UIImageView *imgV = [[UIImageView alloc] initWithFrame:CGRectMake((i-1)*scrMain.frame.size.width, 0, scrMain.frame.size.width, scrMain.frame.size.height)];
// set scale to fill
imgV.contentMode=UIViewContentModeScaleToFill;
// set image
[imgV setImage:image];
// apply tag to access in future
imgV.tag=i+1;
// add to scrollView
[scrMain addSubview:imgV];
}
// set the content size to 10 image width
[scrMain setContentSize:CGSizeMake(scrMain.frame.size.width*10, scrMain.frame.size.height)];
// enable timer after each 2 seconds for scrolling.
[NSTimer scheduledTimerWithTimeInterval:2 target:self selectorselector(scrollingTimer) userInfo:nil repeats:YES];
}
- (void)scrollingTimer {
// access the scroll view with the tag
UIScrollView *scrMain = (UIScrollView*) [self.view viewWithTag:1];
// same way, access pagecontroll access
UIPageControl *pgCtr = (UIPageControl*) [self.view viewWithTag:12];
// get the current offset ( which page is being displayed )
CGFloat contentOffset = scrMain.contentOffset.x;
// calculate next page to display
int nextPage = (int)(contentOffset/scrMain.frame.size.width) + 1 ;
// if page is not 10, display it
if( nextPage!=10 ) {
[scrMain scrollRectToVisible:CGRectMake(nextPage*scrMain.frame.size.width, 0, scrMain.frame.size.width, scrMain.frame.size.height) animated:YES];
pgCtr.currentPage=nextPage;
// else start sliding form 1
} else {
[scrMain scrollRectToVisible:CGRectMake(0, 0, scrMain.frame.size.width, scrMain.frame.size.height) animated:YES];
pgCtr.currentPage=0;
}
}
你可以使用:-
SDWebimage
AFNetworking
NSCache和 use of NSCache
用于图片缓存和异步加载图片
更新:-
这里的 Bellow 是一些库,它可以做一些类似照片库幻灯片放映的事情,请检查这个,如果你愿意,然后通过阅读如何实现将其用于你的项目。
MWPhotoBrowser for iOS
EGOPhotoViewer for iOS
CXPhotoBrowser for iOS
FGallery for iOS
Nimbus for iOS
PTImageAlbumViewController for iOS
关于ios - PageView 幻灯片,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/18798435/
|