2012-01-03 7 views
9

私は奇妙な問題を抱えています。 メンバーUIViewを使用してUITableViewCellから継承するクラスを作成しました。実装ファイルでUITableViewCellのUIViewのレイヤーのプロパティにアクセスできない

@interface MTReportPieChartTableViewCell : UITableViewCell { 
    UIView *_colorView; 
} 
@property (nonatomic, retain) IBOutlet UIView *colorView; 
@end 

、私はcolorViewのレイヤーのプロパティにアクセスしたいのですが、Xcodeは「何の完了」を示しません。

@implementation MTReportPieChartTableViewCell 
@synthesize colorView = _colorView; 
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { 
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 
    if (self) { 
     self.colorView.layer.cornerRadius = 3.0f; // Error occurs in this line 
    } 
    return self; 
} 
@end 

xcodeには、「プロパティ 'cornerRadius'がフォワードクラスオブジェクト 'CALayer'に見つかりません」と表示されています。 しかし、他のクラスのcornerRadiusにアクセスできます。

MTReportPieChartTableViewCell *cell = (MTReportPieChartTableViewCell *) [tableView dequeueReusableCellWithIdentifier:[MTReportPieChartTableViewCell identifier]]; 
cell.colorView.layer.cornerRadius = 3.0f; // This line works fine! 

なぜこれが起こりますか。コードで間違っていたアイデアはまったくありません!

答えて

0

は、コンテンツビュー層になってみてください。

self.contentView.colorView.layer.cornerRadius = 3.0f; 
+1

これは機能しません。 self.contentViewにはcolorViewがありません。 –

28

は、このクラスで<QuartzCore/QuartzCore.h>を輸入したことがありますか?

+0

いいえ、私はをインポートしましたが、CALayer *型の変数を宣言できました。私がMTReportPieChartTableViewCell * cellを宣言したファイルでは、そのファイルはのみをインポートします。私はこの事件を考えました。 –

+0

これは正しいインポートです、私のために働く。 – KomodoDave

関連する問題