2011-06-25 12 views
6

私のアプリケーションでは、TableViewにGroupedスタイルを使用しています。その中で、私はセル選択スタイルをカスタマイズしたいと思っています。その選択スタイルを赤色にします。セルの選択をカスタマイズする際の問題点iPhoneのUITableViewのスタイル

私はそのために以下のコードを使用しています:

UIView *bgColorView = [[UIView alloc] init]; 
[bgColorView setBackgroundColor:[UIColor redColor]; 

[cell setSelectedBackgroundView:bgColorView]; 
[bgColorView release]; 

上記のコードを使用することにより。私は問題があります。グループ化されたスタイルテーブルを取得してから、 の最初と最後の行を選択すると、丸みのある角に近づく ではなく、鋭い矩形が選択されて表示されます。

誰でもこの点で助けてもらえますか? ありがとうございました。

答えて

3

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"CellIdentifier"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; 
     cell.selectedBackgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"SelectedCellBackground.png"]] autorelease]; 
    } 

    // Cell configuration takes place here 
} 
、これを試してみてください
-2
UIImageView *imageVieww=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, cell2.bounds.size.width, cell2.bounds.size.height)]; 


    imageVieww.image=[UIImage imageNamed:@"mavilik.png"]; 

    [cell2 setSelectedBackgroundView:imageVieww]; 

    [imageVieww release]; 
0

サブクラスで-(void)setSelected:animated:を上書きします。

- (void)setSelected:(BOOL)selected animated:(BOOL)animated 
{ 
    if (selected) 
    [self setBackgroundColor:[UIColor redColor]]; 
    else 
    [self setBackgroundColor:[UIColor whiteColor]]; 
} 

あなたは調和とanimatedがYESであれば選択と選択解除時に背景をフェードアウトするためにここに派手なアニメーションを追加することができます。

一般に、UITableViewCellは、サブクラス化するのが少しおかしなことがあります。

1

QuartzCoreフレームワークを追加します。 QuartzCore/QuartzCore.hフレームワークを.mファイルにインポートします。その後、次のコードをcellForRowAtIndexPathメソッドに追加します。

UIImageView *imv = [[UIImageView alloc]init]; 
imv.backgroundColor=[UIColor redColor]; 
[cell setSelectedBackgroundView:imv]; 
CALayer *layer = imv.layer; 
[layer setMasksToBounds:YES]; 
[layer setCornerRadius:10.0]; 
[imv release]; 
関連する問題