0

ページコントロールによって制御されるスクロールビューにさまざまなテーブルビューを追加しました。このように設定しています。

- (void)loadPage:(NSInteger)page {
    if (page < 0 || page >= self.pageStages.count) {
        // If it's outside the range of what we have to display, then do nothing
        return;
    }
    // Load an individual page, first seeing if we've already loaded it
    UIView *pageView = [self.pageViews objectAtIndex:page];
    if ((NSNull*)pageView == [NSNull null]) {
        CGRect frame = self.scrollView.bounds;
        frame.size.width = 280.0f;
        frame.size.height = self.scrollView.bounds.size.height;

        frame.origin.x = (320 * page)+20;
        NSLog(@"orgin x is %d",(320 * page)+20);
        NSLog(@"orgin x is %f",frame.origin.x);
        frame.origin.y = 0;

        UITableView *table = [[UITableView alloc]initWithFrame:frame];
        table.delegate = self;
        table.dataSource = self;

        table.contentMode = UIViewContentModeScaleAspectFit;
        [self.scrollView addSubview:table];
        [self.pageViews replaceObjectAtIndex:page withObject:table];
    }
}

すべてが正常に機能しています。テーブルビューが追加され、スワイプも機能します。唯一の問題は、x 座標が正しくないことです。すべてのテーブルビューには、両側に 20 ピクセルの余白が必要です。したがって、次のテーブルビューの X を取得するには、これを行います。

frame.origin.x = (320 * page)+20;

最初のテーブルビューでは問題ありませんが、次のテーブルビューにスクロールすると、常に少し左に移動します。

誰でも私を助けることができますか?

4

1 に答える 1

0

フレーム自体ではなくテーブルの境界を設定すると、これを追加しようとすると解決します

[table setBounds:CGPointMake(x, y>)];
于 2013-04-24T11:43:38.040 に答える