#objective-c #xcode
#objective-c #xcode
Вопрос:
я создал 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;
}
Комментарии:
1. Вам действительно следует использовать теги кода для отображения вашего кода, чтобы он был читабельным.
Ответ №1:
frame.origin.x=frame.size.width=page;
должно быть
frame.origin.x = frame.size.width * page;
Комментарии:
1. спасибо, что полностью сработало … я получил еще один запрос. у меня есть 8 изображений (означает 8 точек) .. если я нажму на пятую точку (pagecontrol), я хочу, чтобы 5-е изображение загружалось в scrollview … не каждое изображение загружается, пока 5-е изображение не будет видно в режиме прокрутки … заранее спасибо
2. UIPageControl не поддерживает прямой переход на страницу. Если вы действительно хотите, чтобы это было сделано, подумайте о добавлении
UITapRecognizer
к элементу управления страницей и обработайте нажатия. Определите, основываясь на фрейме и местоположении касания, какая страница интересует пользователя, и измените страницу соответствующим образом.