2010-05-11 82 views

回答

16

只需用以下代替initWithFrame:reuseIdentifier:

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
{ 
    if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) 
    { 
     // you might want to add the UIView to [self contentView] 
     // so that in edit's the cell's content will be automatically adjusted. 
     ABTableViewCellView *myUIView = [[ABTableViewCellView alloc] initWithFrame:CGRectZero]; 

     myUIView.opaque = YES; 
     contentViewForCell = myUIView; 
     [self addSubview:myUIView]; 
     [myUIView release]; 
    } 

    return self; 
} 

此外,蘋果有一個例子作爲洛倫指出,但他們使用的initWithStyle:reuseIdentifier:

http://developer.apple.com/iphone/library/samplecode/TableViewSuite/Introduction/Intro.html

0

另一種具體的方式來理解是 - initWithFrame:方法reuseIdentifier:在iOS 3.0棄用。使用initWithStyle:reuseIdentifier:代替

簡單例 - 錯誤代碼

static NSString *MyIdentifier = @"MyIdentifier"; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier]; 
if (cell == nil) 
{ 
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];  
} 

預計代碼

static NSString *MyIdentifier = @"MyIdentifier"; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier]; 
if (cell == nil) 
{ 
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier]; 
} 
+0

當你做到這一點,其中電池是那裏你可以遇到的問題,但它只是看不見...... – 2012-11-14 22:38:47

+0

@AriBraginsky你能詳細說明一下你究竟是什麼意思,並且在這裏看不見? – 2012-11-15 08:00:23

相關問題