0

iPad用のポップオーバー(テーブルビュースタイル)をデザインしました。asp.netのように、最後にオプションが必要なので、ユーザーがクリックすると値を入力できます。それはできますか?私はtableviewcellstylesで遊んで、テキストボックスも取得しましたが、すべてのオプションについてです。誰かがやったことがあれば、私にいくつかのアイデアを教えてください。ありがとう。

編集:このアプリを開発するためにMonodevelopを使用していると述べたはずです。

4

1 に答える 1

0

ストーリーボードを使用してビューを作成し、プロパティを設定していると仮定した場合の1つのアプローチ:

UITableViewオブジェクトのプロパティで、「content」プロパティを「DynamicPrototypes」に設定します。

次に、ストーリーボードエディタのUIオブジェクトリストからテーブルにテーブルビューセルを追加します(別のラベルやボタンなどを追加するのと同じように)。

これで、テーブルビューに2つのTableViewCellオブジェクトが表示されます。そうでない場合は、別のものを追加します。

両方のテーブルビューセルオブジェクトに異なる識別子を指定します(つまり、それぞれのプロパティ「識別子」を異なる文字列に設定します)。

通常のコンテンツを表示する最初のセルを設定します。

2番目のセルを設定して、独自の「最後の行」のレイアウトを表示します。

コードでは、cellForRowAtIndexPathでほとんどの行の「メイン」セルを返しますが、最後の行の代替セルを返します。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // rows are 0-indexed
    if (indexPath.row == myDataSource.count) {

        NSString *CellIdentifier = @"AlternateCell";

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

        // populate contents...
    }
    else {

        NSString *CellIdentifier = @"NormalRow";

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

        // populate contents...
    }
}

これを機能させるには、実際のデータよりも1行多いことをTableViewに通知する必要があります。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return myDataSource.count +1;
}
于 2013-03-03T21:45:05.820 に答える