UIPageControl图片下面的白点,并且和图片同步
类和文件
AppDelegate.m
#import"AppDelegate.h"#import"MainViewController.h"@implementationAppDelegate-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{self.window=[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];//Overridepointforcustomizationafterapplicationlaunch.self.window.backgroundColor=[UIColorwhiteColor];[self.windowmakeKeyAndVisible];MainViewController*mainVC=[[MainViewControlleralloc]init];self.window.rootViewController=mainVC;[mainVCrelease];[_windowrelease];returnYES;}-(void)dealloc{[_windowrelease];[superdealloc];}-(void)applicationWillResignActive:(UIApplication*)application{//Sentwhentheapplicationisabouttomovefromactivetoinactivestate.Thiscanoccurforcertaintypesoftemporaryinterruptions(suchasanincomingphonecallorSMSmessage)orwhentheuserquitstheapplicationanditbeginsthetransitiontothebackgroundstate.//Usethismethodtopauseongoingtasks,disabletimers,andthrottledownOpenGLESframerates.Gamesshouldusethismethodtopausethegame.}-(void)applicationDidEnterBackground:(UIApplication*)application{//Usethismethodtoreleasesharedresources,saveuserdata,invalidatetimers,andstoreenoughapplicationstateinformationtorestoreyourapplicationtoitscurrentstateincaseitisterminatedlater.//Ifyourapplicationsupportsbackgroundexecution,thismethodiscalledinsteadofapplicationWillTerminate:whentheuserquits.}-(void)applicationWillEnterForeground:(UIApplication*)application{//Calledaspartofthetransitionfromthebackgroundtotheinactivestate;hereyoucanundomanyofthechangesmadeonenteringthebackground.}-(void)applicationDidBecomeActive:(UIApplication*)application{//Restartanytasksthatwerepaused(ornotyetstarted)whiletheapplicationwasinactive.Iftheapplicationwaspreviouslyinthebackground,optionallyrefreshtheuserinterface.}-(void)applicationWillTerminate:(UIApplication*)application{//Calledwhentheapplicationisabouttoterminate.Savedataifappropriate.SeealsoapplicationDidEnterBackground:.}@end
MainViewController.h
#import<UIKit/UIKit.h>@interfaceMainViewController:UIViewController@property(nonatomic,retain)UIScrollView*scrollView;@end
MainViewController.m
#import"MainViewController.h"@interfaceMainViewController()<UIScrollViewAccessibilityDelegate>@end@implementationMainViewController//@synthesizescrollView;-(id)initWithNibName:(NSString*)nibNameOrNilbundle:(NSBundle*)nibBundleOrNil{self=[superinitWithNibName:nibNameOrNilbundle:nibBundleOrNil];if(self){//Custominitialization}returnself;}-(void)viewDidLoad{[superviewDidLoad];//Doanyadditionalsetupafterloadingtheview.self.scrollView=[[UIScrollViewalloc]initWithFrame:CGRectMake(20,20,280,400)];self.scrollView.contentSize=CGSizeMake(280*15,0);self.scrollView.pagingEnabled=YES;self.scrollView.delegate=self;//代理协议方法[self.viewaddSubview:_scrollView];[_scrollViewrelease];for(inti=0;i<15;i++){UIImageView*p_w_picpathView=[[UIImageViewalloc]initWithFrame:CGRectMake(0*i,0,280,400)];UIScrollView*scrollView1=[[UIScrollViewalloc]initWithFrame:CGRectMake(280*(i),0,280,480)];scrollView1.delegate=self;scrollView1.maximumZoomScale=2.0;scrollView1.minimumZoomScale=0.5;[self.scrollViewaddSubview:scrollView1];[scrollView1release];NSString*name=[NSStringstringWithFormat:@"a%d.jpg",i];p_w_picpathView.p_w_picpath=[UIImagep_w_picpathNamed:name];[scrollView1addSubview:p_w_picpathView];[p_w_picpathViewrelease];}UIPageControl*pageControl=[[UIPageControlalloc]initWithFrame:CGRectMake(20,420,280,20)];//设置白点数量pageControl.tag=1000;pageControl.numberOfPages=15;pageControl.pageIndicatorTintColor=[UIColorbrownColor];//没有选中的颜色pageControl.currentPageIndicatorTintColor=[UIColorredColor];//已经被选中的颜色。。。。pageControl.backgroundColor=[UIColorblueColor];pageControl.alpha=0.3;//当值改变的时候,调用绑定的方法[pageControladdTarget:selfaction:@selector(pageAction:)forControlEvents:UIControlEventValueChanged];[self.viewaddSubview:pageControl];[pageControlrelease];}-(UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView{return[scrollView.subviewsfirstObject];}-(void)scrollViewDidScroll:(UIScrollView*)scrollView{//只要scrollView滚动,就调用这个方法if(scrollView.contentOffset.x>3940){scrollView.contentOffset=CGPointMake(0,0);//[scrollViewsetContentOffset:CGPointMake(-50,0)animated:YES];}elseif(scrollView.contentOffset.x<-30){scrollView.contentOffset=CGPointMake(3940,0);}NSLog(@"偏移量%f",scrollView.contentOffset.x);//计算当前是第几页intpage=scrollView.contentOffset.x/scrollView.frame.size.width;NSLog(@"%d",page);UIPageControl*pageControl=(UIPageControl*)[self.viewviewWithTag:1000];//在换不同页面是,原来的页面回到初始位置inta=pageControl.currentPage;pageControl.currentPage=page;if(a!=page){for(inti=0;i<15;i++){UIScrollView*p=[self.scrollView.subviewsobjectAtIndex:i];p.zoomScale=1.0;}}}-(void)scrollViewWillBeginDecelerating:(UIScrollView*)scrollView{NSLog(@"开始减速");}-(void)pageAction:(UIPageControl*)pageControl{//pageControl显示的当前页数(从0开始)NSLog(@"第%d页",pageControl.currentPage);//通过调整scrollView的偏移量,让scrollView调整位置//_scrollView.contentOffset=CGPointMake(280*pageControl.currentPage,0);[_scrollViewsetContentOffset:CGPointMake(280*pageControl.currentPage,0)animated:YES];NSLog(@"翻页");}-(void)didReceiveMemoryWarning{[superdidReceiveMemoryWarning];//Disposeofanyresourcesthatcanberecreated.}/*#pragmamark-Navigation//Inastoryboard-basedapplication,youwilloftenwanttodoalittlepreparationbeforenavigation-(void)prepareForSegue:(UIStoryboardSegue*)seguesender:(id)sender{//Getthenewviewcontrollerusing[seguedestinationViewController].//Passtheselectedobjecttothenewviewcontroller.}*/@end
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。