UITableView常見問題

 1. UITableViewController中,默認的tableView是沒法修改其Frame的。 spa

    若要修改須要本身建立一個UITableView的對象。加入到self.view中 code

 2. IOS6中 UITableViewStyleGrouped類型沒法設置背景顏色,須要修改BackgroundView屬性 對象

- (void)viewDidLoad
{  
   ITableView *tableV = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 320, 460) style:UITableViewStyleGrouped];
    tableV.backgroundView =nil;  //這裏!
    tableV.backgroundColor = [UIColor clearColor];
    tableV.dataSource =self;
    tableV.delegate =self;
  [self.view addSubview:tableV];

}


 3.UITableViewStyleGrouped類型的Cell會有邊線,很是亂,須要修改Cell的BackgroundView it

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString * cellIndef = @"cellIndef";
    
    UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:cellIndef];
    
    if (!cell) {
        cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIndef]autorelease];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        [cell setBackgroundView:nil]; //這裏
    }
    return cell;
}


 4. 不是直接使用UITableViewController時,好比建立了一個UITableView對象,Cell的選擇效果是不會消失的,須要在選擇方法中作一些處理

   

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath  
{
   [tableView deselectRowAtIndexPath:[tableView   indexPathForSelectedRow] animated:YES];   //這裏

}

 5. 在table內容爲空時顯示空白的視圖,取代默認的。 io

- (void)viewDidLoad
{
  ..
  tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  ..
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if ([array count]>0)
    {
    tableView.separatorStyle=UITableViewCellSeparatorStyleSingleLine;
    }
    return [array count];
}
相關文章
相關標籤/搜索