9

に 10 ピクセルの左スペースが必要ですUITablViewcCell。以下にコードを書きますが、そのコンテンツは水平方向にスクロールします。私はそれをしたくありません。

self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0.0, 0.0, 130.0, 768.0)];
    self.horizontalTableView.contentInset = UIEdgeInsetsMake(0.0, 10.0, 0.0, 0.0);

contentOffset contentSizeテーブルビューのプロパティを使用する必要がありますか。

4

4 に答える 4

2

機能する別の方法は、フレームを設定する代わりに、tableViewセルのフレームを次のcontentViewように設定できることです。

- (void) layoutSubviews
{
    [super layoutSubviews];

    CGRect frame = self.contentView.frame;
    frame.size.width = frame.size.width * 0.9; //90% of total width
    frame.origin.x = self.center.x - (frame.size.width/2); //center the contentView
    self.contentView.frame = frame;
}

上記を使用して、セルに必要な左または右または左のパディングを追加できます。すべてのサブビューがに追加されるcontentViewため、問題はありません。

幸せなコーディング..!

于 2013-09-14T14:33:01.943 に答える
0

あなたの説明は私にはよくわからないので、ここから完全に外れているかもしれません。しかし、私は推測を行います。また、それが正しくない場合は、さらに明確にするようお願いします.

tableView の contentInset を設定しましたが、左側にマージンを設定するために機能したと思います。しかし、内側のビューの幅を狭めなかったため、tableViewがスクロールしたと思います。

于 2013-02-19T07:22:05.263 に答える
0

奇妙なバグがあるUITableViewようで、エッジ インセットは上端と下端でのみ正常に機能します。最良の (ただしい) 解決策は、セル内のコンテンツをシフトすることです。

contentOffsetcontentSizeプロパティはテーブルで手動で変更しないでください。これは内部的なものです。

于 2013-08-07T07:17:05.337 に答える