0

ビューがあります。UIImagesを水平にスクロールするUIScrollVievがある場所。しかし、tjis View にはまだ多くの情報があり、下にスクロールする必要があります。

垂直 UiScrollView を追加すると、水平 UiScrollView が機能しません...そして垂直も..それらを分離すると、すべてうまく機能します。1 つのビューで 2 つの uisrollview を使用するにはどうすればよいですか?

水平 UIScrollView の動作のスポット:

    - (void)viewDidLoad
{
    [super viewDidLoad];

    scrolldown.delegate =self;
    [scrolldown setScrollEnabled:YES];
    [scrolldown setContentSize:CGSizeMake(320, 1000)];

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 500, 200, 30)];
    label.text=@"okdddd";
    [self->scrolldown addSubview:label];

    self.cost.text=[NSString stringWithFormat:@"%@ %@",ArrayCost[_id_item], ArrayTypeCostName[_id_item]];

    pageControlBeingUsed = NO;
    CGRect screenRect = [[UIScreen mainScreen] bounds];
    CGFloat screenWidth = screenRect.size.width;
    CGFloat screenHight = screenRect.size.height;
    for (int i = 0; i < [ArrayImages[_id_item] count]; i++) {
        CGRect frame;
        frame.origin.x = self.scrollView.frame.size.width * i;
        frame.origin.y = 0;
        frame.size = self.scrollView.frame.size;
        NSString *val = [ArrayImages[_id_item] objectAtIndex:i];

        NSData *data = [NSData dataWithContentsOfURL: [NSURL URLWithString: val]];
        UIImage* theImage = [[UIImage alloc] initWithData:data];
        //UIImageView *img=[[UIImageView alloc] initWithFrame:CGRectMake(screenWidth*i,0,theImage.size.width ,theImage.size.height)];
        UIImageView *img=[[UIImageView alloc] initWithFrame:CGRectMake(screenWidth*i,0,screenWidth ,200)];
        img.image = theImage;
        [self.scrollView addSubview:img];
    }

    self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * [ArrayImages[_id_item] count], self.scrollView.frame.size.height-100);
    self.pageControl.currentPage = 0;
    self.pageControl.numberOfPages = [ArrayImages[_id_item] count];
    }


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

画面

4

1 に答える 1