3

プロトタイプモードの UITableView があります。セルに 4 つのラベルと 2 つのテキスト フィールドを配置しました。セルの 1 つは基本的なテキスト エントリで、正常に動作します。

TableViewCell をサブクラス化しました。

ヘッダー ファイル

#import <UIKit/UIKit.h>

@interface witLeagueSeriesGameDetailCell : UITableViewCell

@property (strong, nonatomic) IBOutlet UILabel *witGameNumber;
@property (strong, nonatomic) IBOutlet UITextField *witGameScore;
@property (strong, nonatomic) IBOutlet UITextField *witGameResult;

- (void) SetGameResult:(NSString *)resultName;

@end

実装ファイル

#import "witLeagueSeriesGameDetailCell.h"
#import "witAppDelegate.h"

@implementation witLeagueSeriesGameDetailCell

@synthesize witGameNumber=_witGameNumber;
@synthesize witGameScore = _witGameScore;
@synthesize witGameResult = _witGameResult;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
    }
    return self;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

- (void) SetGameResult:(NSString *)resultName{

    NSLog([NSString stringWithFormat:@"%@",resultName]);
    //self.witGameResult.text = resultName;
    [_witGameResult setText:resultName];
}



@end

テーブルビューもサブクラス化されています。適切なテキスト フィールドが入力されたときにポップアップするピッカーが含まれています。行が選択されると、値が SetGameResult 関数に戻されます。これは、NSLog を使用して確認できます。

ただし、セルのテキストは画面上で更新されません。

コードからわかるように、テキストを設定するためにドット概念メソッドとメッセージ メソッドの両方を試しました。

TVCピッカーコードは

- (void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
    witLeagueSeriesGameDetailCell *myLabel = [[witLeagueSeriesGameDetailCell alloc] init];
    [myLabel SetGameResult:[NSString stringWithFormat:@"%@",[self.statusList objectAtIndex:row]]];

}

画面に表示されない理由についてのアイデア

4

1 に答える 1

0

これらは IBOutlets であるため、ストーリーボード上のものに接続する必要があります。

于 2012-11-18T11:24:10.920 に答える