2009-07-22 10 views
1

私は、左側の画像を含む標準のUITableViewCellsを持つUITableViewを持っています。私は次のようにセルの画像を設定しています:OS 3.0のUITableViewCellの左UIImageViewの位置を変更します。

UIImage *leftIcon = [UIImage imageNamed:@"myImage.png"]; 
cell.imageView.image = leftIcon; 

これは問題なく動作します。しかし、Appが動作するiPhone OSによって外観に違いがあります。 2.2.1まで、画像は左端から約11ピクセルの位置にあります。 3.0では、イメージはスペースなしで左の枠に直接配置されます。

私の目標は、画像が3.0のセルの左から約11ピクセルの位置にあることです。私は成功せず、次を試してみました:

UIImage *leftIcon = [UIImage imageNamed:@"myImage.png"]; 

//trying to change x coordinate of the frame of the UIImageView 
CGRect tmpRect = cell.imageView.frame; 
tmpRect.origin.x = 10; 
cell.imageView.frame = tmpRect; 

cell.imageView.image = leftIcon; 

私は2つの解決策を考えることができます:

1)左のカスタムUIImageViewと私のカスタムUITableViewCellのを実装します。

2)フォトショップ:)

どれ勧告にmyImage.pngする11px透明境界線を追加しますか?

答えて

0

私の意見では、iPhoneの世界でこのような問題を解決するためにできる最も簡単なことは、カスタムクラスを作成することです。また、表示する場所を調整するだけで、上記のクラスの一部の関数を作成して各カスタムクラスに作成することも検討してください。

実際の問題については、セルが使用する四角形を取得して、必要な相対的な図形を見つけようとします。 iPhoneはあなたが物事を置いてほしい場所についての推測ではかなり良い仕事をしているが、間違っていると思ったときには少なくとも何かが行きたい。

1

ハックのビットですが、UITableViewDelegateからセルをインデントすることができます。

- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath { 
    return 1; 
} 

これは、約10ポイントUITableViewCellUIImageView上押しの効果があります。

関連する問題