Tôi đang cố tạo ứng dụng thực hành để tôi có thể cuộn hình ảnh bằng điều khiển trang. Tôi có thể cuộn hình ảnh và có thể bao gồm điều khiển trang. Nhưng vấn đề tôi phải đối mặt là tôi không thể liên kết hai. Có nghĩa là để nói khi tôi cuộn hình ảnh, điều khiển trang không bị ảnh hưởng và khi tôi thay đổi điều khiển trang, việc cuộn hình ảnh không bị ảnh hưởng.Quét ảnh bằng điều khiển trang trong Iphone
Tôi đã gọi điều này: http://www.iosdevnotes.com/2011/03/uiscrollview-paging/ để cuộn bằng điều khiển trang.
Viewcontroller.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UIScrollViewDelegate>{
UIScrollView *scrollView;
UIPageControl *pageControl;
BOOL pageControlBeingUsed;
}
@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;
@property (nonatomic, retain) IBOutlet UIPageControl *pageControl;
- (IBAction)changePage;
@end
Viewcontroller.m
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
@synthesize scrollView,pageControl;
- (void)scrollViewDidScroll:(UIScrollView *)sender {
if (!pageControlBeingUsed) {
// Switch the indicator when more than 50% of the previous/next page is visible
CGFloat pageWidth = self.scrollView.frame.size.width;
int page = floor((self.scrollView.contentOffset.x - pageWidth/2)/pageWidth) + 1;
self.pageControl.currentPage = page;
}
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
pageControlBeingUsed = NO;
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
pageControlBeingUsed = NO;
}
- (void)viewDidLoad
{
[super viewDidLoad];
NSArray *images = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"1.jpeg"],[UIImage imageNamed:@"2.jpeg"],[UIImage imageNamed:@"3.jpeg" ], nil];
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * images.count, self.scrollView.frame.size.height);
for (int i = 0; i < images.count; i++) {
CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * i;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
UIImageView* imgView = [[UIImageView alloc] init];
imgView.image = [images objectAtIndex:i];
imgView.frame = frame;
[scrollView addSubview:imgView];
}
self.pageControl.currentPage = 0;
self.pageControl.numberOfPages = images.count;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
self.scrollView = nil;
self.pageControl = nil;
}
- (IBAction)changePage{
// update the scroll view to the appropriate page
CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * self.pageControl.currentPage;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
[self.scrollView scrollRectToVisible:frame animated:YES];
pageControlBeingUsed = YES;
}
@end
Cần một số hướng dẫn về vấn đề này ... Cảm ơn ..
nơi để sử dụng nó? có thể cho tôi một ý tưởng về nơi để sử dụng nó? – lakesh
thay đổi mã ngay bây giờ ... bao gồm các pageControlBeingUsed trong chức năng scrollViewDidScroll .. vẫn không có sự khác biệt ... – lakesh
xin lỗi ... thiết lập đại biểu của tôi sai .. cảm ơn sự giúp đỡ ... – lakesh