私はUIViewから継承するクラスを持っています。私はそれを使ってカスタムデフォルトビューを作成しました。 -(id)initWithFrame:(CGRect)frame;
を使用しますが、イニシャライザを使用した場合、frame
のパラメータは常にnull
の値です。ここで UIView:initWithFrameをオーバーライドし、nilパラメータを取得
#import "SomeView.h"
@implementation POIView
@synthesize theButton;
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
NSLog(@"%@",frame);
}
return self;
}
@end
のNSLog結果は常に(null)
ある、と私は私がのtableViewに今それを使用して初期化
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CELL_ID";
const int THE_TAG = 1000;
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
CGRect *rect = CGRectMake(0, 0, tableView.frame.size.width,tableView.rowHeight);
someView = [[SomeView alloc] initWithFrame:rect];
}else{
someView = (SomeView *) [cell viewWithTag:THE_TAG];
}
return cell;
}
と呼ばれる場所ですが、私は使用しましたいくつかのUILabelにも少し感謝しています。
する必要がありますが、私たちにあなたが' initWithFrame呼び出すコードを表示してください。 –
完了しました。私は 'initWithFrame'を呼び出したところにソースを追加しました – Suprie