【问题标题】:page control in uiscrollviewuiscrollview 中的页面控制
【发布时间】:2011-05-18 13:12:58
【问题描述】:

我创建了一个 uiscrollview,其中包含一个页面控件,该控件从资源包中加载图像..一切正常。我能够滚动浏览不同的图像..问题是如果我要单击相应的页面控件(点),我不会能够导航到相应的图像....你们可以帮我看看下面的代码...下面的代码工作得很好

// Email.h

@interface Email : UIViewController<UIScrollViewDelegate>
{
   UIPageControl *pageControl;
   UIScrollView *scroller;
}

@property (nonatomic,retain)IBOutlet UIPageControl *pageControl;
@property (nonatomic,retain)IBOutlet UIScrollView *scroller;

-(IBAction)clickPageControl:(id)sender;

@end


// Email.m

@implementation Email
@synthesize pageControl,scroller;

-(IBAction)clickPageControl:(id)sender
{
   int page=pageControl.currentPage;
   CGRect frame=scroller.frame;
   frame.origin.x=frame.size.width=page;
   frame.origin.y=0;
   [scroller scrollRectToVisible:frame animated:YES];
}

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
   int page = scrollView.contentOffset.x/scrollView.frame.size.width;
   pageControl.currentPage=page;
}

- (void)viewDidLoad 
{
   [super viewDidLoad];
   self.title=@"Press Photos";
   for (int i=1; i<10; i++)
   {
      UIImageView *images=[[UIImageView alloc]initWithImage:
        [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]]];
      images.frame=CGRectMake((i-1)*320, 0, 320, 460);
      [scroller addSubview:images];
      [images release];
   }
   scroller.delegate=self;
   scroller.contentSize=CGSizeMake(320*9, 460);
   scroller.pagingEnabled=YES;

   pageControl.numberOfPages=9;
   pageControl.currentPage=0;
}

【问题讨论】:

  • 你真的应该使用代码标签来显示你的代码,这样它就可以阅读了。

标签: objective-c xcode


【解决方案1】:
frame.origin.x=frame.size.width=page;

应该是

frame.origin.x = frame.size.width * page;

【讨论】:

  • 谢谢这一切都奏效了……我又得到了一个查询。我得到了 8 个图像(意味着 8 个点)..如果我单击第五个点(页面控件)我希望加载第 5 个图像在滚动视图中...直到在滚动视图中看到第 5 个图像之前,每个图像都不会加载...提前感谢
  • UIPageControl 不支持直接跳转到页面。如果您真的想要完成,请考虑将UITapRecognizer 添加到页面控件并处理点击。根据框架和点击位置判断用户感兴趣的页面,并相应更改页面。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多