实例实现了,在一个view中,多张图片在指定时间内不断的轮换效果。
编辑试图:
代码如下:
@interface View25 :UIViewController<UIScrollViewDelegate>
{
UIScrollView *adsScrollView;
UIPageControl *pageControl;
NSTimer *timer;
NSInteger forward;
UIImageView *iv;
}
@property (nonatomic,retain) IBOutlet UIScrollView *adsScrollView;
@property (nonatomic, retain) IBOutlet UIPageControl *pageControl;
@property (nonatomic,retain) IBOutlet UIImageView *iv;
@end
-(void)viewDidLoad {
if (timer == nil)
{//定时
timer
= [NSTimerscheduledTimerWithTimeIn
forward = 1;
}
adsScrollView.delegate=self;
//获取远程图片 并加载
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com/img/baidu_sylogo1.gif"];
UIImage *imagea = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]];
//UIImageView *iv;
iv.image=imagea;
adsScrollView.canCancelContentTouches = NO;
adsScrollView.clipsToBounds = YES;//default is NO, we want to restrict drawing within ourscrollview
adsScrollView.indicatorStyle
=UIScrollViewIndicatorSty
//两张图片
CGFloat page = 2;
for (int i =
0; i < page;i++)
{
//不同的图片
NSString *path = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"advert0%d",i+1]ofType:@"png"];
//生成图片
UIImage *image = [UIImage imageWithContentsOfFile:path];
//继承于button类
UIDataButton *btn = [UIDataButton buttonWithType:UIButtonTypeCustom];
//将按钮的背景设制为图片
[btnsetBackgroundImage:imageforState:UIControlStateNormal];
btn.frame = CGRectMake(i* adsScrollView.frame.size.width,0, adsScrollView.frame.size.width,80);
NSLog(@"%f",adsScrollView.frame.size.height);
//点击后的触发事件
//[btn addTarget:self action:@selector(detailBtnClick:)forControlEvents:UIControlEventTouchUpIns
[adsScrollView addSubview:btn];
}
adsScrollView.contentSize = CGSizeMake(adsScrollView.frame.size.width *page,adsScrollView.frame.size.height);
adsScrollView.scrollEnabled = YES;
adsScrollView.showsVerticalScrollIndic
pageControl.currentPage = 0;
pageControl.numberOfPages = page;
}
-(void) onTimer
{//时间定时 触发
int page = pageControl.currentPage;
if (page == (pageControl.numberOfPages -1 )) {
forward = -1;
}else {
if (page == 0) {
forward = 1;
}
}
// update the scroll view to the appropriate page
}
#pragma mark -
#pragma mark adsScrollView
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGFloat pageWidth =adsScrollView.frame.size.width;
}