1

私はこれに対する答えをウェブで検索してきましたが、簡単な答えがあると確信しています。

アプリで UITableView を作成していますが、「フローティング」テーブル ビュー セルとメニューを上部に配置したいと考えています。このような:

ここに画像の説明を入力

これらはカスタム UITableView セルであると確信していますが、このように作成し、コンテンツに基づいてサイズを動的にする方法と、ユーザーがスクロールダウンすると消える/表示されるメニューを上部に含める方法がわかりませんまたはアップ。

これに関する洞察は素晴らしいでしょう!

4

2 に答える 2

4

これは、グループ化されたテーブル ビューでサブクラス化された UITableViewCell を使用すると、かなり簡単に実行できます。下の画像は、さまざまな UI 要素をドラッグして、.h ファイルに IBOutlets しかないカスタム クラスを作成することで簡単に作成したものを示しています。

ここに画像の説明を入力

ちんぷんかんぷんなラベルは、特定の高さが設定されていないセルの下と上部の灰色のビューに関連付けられているため、セルが成長すると成長します。テーブルにデータを入力するために使用したコードは次のとおりです。

- (void)viewDidLoad {
    [super viewDidLoad];
    self.theData = @[@"One",@"Two",@"Three",@"Four",@"Five",@"Six",@"Seven",@"Eight",@"Nine"];
    [self.tableView reloadData];
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
   return  self.theData.count;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 1;
}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    NSString *s = @"asdfhfl fl flfh sflhsalfjh fajlhf lf asldf fh asljfafh sjlfh ajf fljf fasjlfhjfhjfhjsf hsjfhsjfhajsfh the end";
    CGSize size = [s sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(281, CGFLOAT_MAX) lineBreakMode:NSLineBreakByWordWrapping];
    return size.height + 130;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    RDCell *cell = [tableView dequeueReusableCellWithIdentifier:@"RDCell" forIndexPath:indexPath];
    cell.lbl1.text = self.theData[indexPath.section];
    cell.lbl2.text = @"asdfhfl fl flfh sflhsalfjh fajlhf lf asldf fh asljfafh sjlfh ajf fljf fasjlfhjfhjfhjsf hsjfhsjfhajsfhajlfjafh";
    return cell;
}

セクションの数を配列のカウントに設定しているため、それぞれ 1 行の個別のセクションが得られることに注意してください。heightForRowAtIndexPath のコードは、セルの高さを計算する典型的な方法です (ただし、通常はインデックス パスを使用し、セルごとに異なる文字列を取得します)。

于 2013-02-26T04:41:10.960 に答える