Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 检测滚动视图上的图像_Iphone_Objective C_Ios_Xcode - Fatal编程技术网

Iphone 检测滚动视图上的图像

Iphone 检测滚动视图上的图像,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,请帮助我,在我滚动时检测滚动视图上的图像 - (void)viewDidLoad { [super viewDidLoad]; NSArray *colors = [[NSArray alloc] initWithObjects:@"ip1.jpg", @"ip2.jpg", @"ip3.jpg", @"ip4.jpg", @"ip5.jpg", @"ip6.jpg", @"ip7.jpg", @"ip8.jpg", @"ip9.jpg", @"ip10.jpg",@"ip11.jpg"

请帮助我,在我滚动时检测滚动视图上的图像

- (void)viewDidLoad
{
    [super viewDidLoad];
NSArray *colors = [[NSArray alloc] initWithObjects:@"ip1.jpg", @"ip2.jpg", @"ip3.jpg", @"ip4.jpg", @"ip5.jpg", @"ip6.jpg", @"ip7.jpg", @"ip8.jpg", @"ip9.jpg", @"ip10.jpg",@"ip11.jpg",@"ip12.jpg",@"ip13.jpg",@"ip14.jpg",@"ip15.jpg",@"ip16.jpg",@"ip17.jpg",@"ip18.jpg",@"ip19.jpg",@"ip20.jpg",@"ip21.jpg", nil];

    NSMutableArray *imgArray = [[NSMutableArray alloc] init];
    UIImageView *tempImageView;
    for(NSString *name in colors) {
        tempImageView = [[UIImageView alloc] init];
        tempImageView.contentMode = UIViewContentModeScaleAspectFill;
        tempImageView.image = [UIImage imageNamed:name];
        [imgArray addObject:tempImageView];

    }

    CGSize pageSize = scrollView.frame.size; // scrollView is an IBOutlet for our UIScrollView
    NSUInteger page = 0;
    for(prevView in imgArray) {

        [scrollView addSubview:prevView];


        // This is the important line
        prevView.frame = CGRectMake(pageSize.width * page++ + 30, 0, pageSize.width - 60, pageSize.height);
 }   




    scrollView.contentSize = CGSizeMake(pageSize.width * [imgArray count], pageSize.height);

}



- (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;



    }
}
请帮帮我。如果我使用slog显示CurrentPage,它会像“117892”一样显示我,我只需要一个NSLog,它会显示我的“颜色”NSArray中的当前图像。非常感谢

尝试一下,您可以将“page”变量声明为全局变量,然后按代码所示进行传递

NSLog(@"%@",[colors objectAtIndex:page]);
试试这个,您可以将“page”变量声明为全局变量,然后按代码所示进行传递

NSLog(@"%@",[colors objectAtIndex:page]);

2012-12-08 04:22:57.761我的项目[2948:f803]ip1.jpg 2012-12-08 04:22:57.804我的项目[2948:f803]ip1.jpg 2012-12-08 04:22:57.812我的项目[2948:f803]ip1.jpg 2012-12-08 04:22:57.826我的项目[2948:f803]ip1.jpg 2012-12-08:04:22:57.842我的项目[2948:f803]ip1.jpg 2012-12-08 04:22:57.892我的项目[2948:f803]ip1.jpg 2012-12-08 04:22:57.907我的项目[2948:f803]ip2.jpg为什么会这样(我如何修复它?假设页面计算正确,这在didcroll函数中应该很好-(void)ScrollViewDidcroll:(UIScrollView*)发送方{如果(!pageControlBeingUsed){//当上一页/下一页的50%以上可见时切换指示器CGFloat pageWidth=self.scrollView.frame.size.width;int page=floor((self.scrollView.contentOffset.x-pageWidth/2)/pageWidth)+1;self.pageControl.currentPage=page;NSLog(@“@”,[colors objectAtIndex:pageControl.currentPage]);}}我粘贴在“scrollViewDidScroll”中,objectAtIndex:page我尝试过,但也显示了重复的行,如NSLog.2012-12-08 04:22:57.761我的项目[2948:f803]我的项目[2948:f803]ip1.jpg 2012-12-08 04:22:57.804我的项目[2948:f803]ip1.jpg 2012-12-08 04:22:57.826我的项目[2948:f803]ip1.jpg 2012-12-08 04:22:57.842我的项目[2948:f803]ip1.jpg 2012-12-08:04:22:57.867我的项目[2948:f803]ip1.jpg 2012-12-08 04:22:57.907我的项目[2948:f803]ip2.jpg为什么会这样显示?:(我如何修复它?假设页面计算正确,在didcroll函数中应该可以很好地运行-(void)scrollview didcroll:(UIScrollView*)sender{if(!pageControlBeingUsed){//当上一页/下一页的50%以上可见时,切换指示器CGFloat pageWidth=self.scrollView.frame.size.width;int page=floor((self.scrollView.contentOffset.x-pageWidth/2)/pageWidth)+1;self.pageControl.currentPage=page;NSLog(@“%@,[colors objectAtIndex:pageControl.currentPage]);}我粘贴了“scrollViewDidScroll”,objectAtIndex:我尝试过的页面,但也将重复的行显示为nslog。