2009-08-30 5 views
1

グループ化されたテーブルビューに大きな画像が表示されています。私は画像がスクリーンの全幅を満たすようにしたいと思います。私はtableViewCellインターフェイスビルダを使用してこの作業を行うことができましたが、パフォーマンスを向上させるために、プログラムでこれを実行しようとしています。グループ化されたテーブルビューのセル内の画像を画面の幅にするにはどうすればよいですか?

しかし、私は画像を画面の左側と一致させることができませんでした。これは、グループ化されたテーブルビュー内のセルのデフォルト位置を使用しているようです。

プレーンなテーブルビューを使用して動作させることはできましたが、セクションヘッダーは画面の上部に固定されており、スクロールする必要があります。

これをプログラムで行う方法はありますか?ここに私の元のコードがあります。 ありがとう!

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

static NSString *MyTableViewCellIdentifier = @"Cell"; 

MyTableViewCell *cell = (MyTableViewCell *) 
      [tableView dequeueReusableCellWithIdentifier: MyTableViewCellIdentifier]; 

    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MyTableViewCell" owner:self options:nil]; 
    for(id currentObject in nib) 

     { 
      cell = (DetailTableViewCell *)currentObject; 
     } 

MyAppAppDelegate *appDelegate = (MyTableViewCell *)[[UIApplication sharedApplication] delegate]; 
NSString *Path = [[NSBundle mainBundle] bundlePath]; 
NSString *MainImagePath = [Path stringByAppendingPathComponent: 
     ([[appDelegate.myDictionaryOfImages objectAtIndex:indexPath.section] objectForKey:@"LargeImage"])]; 

cell.myLargeImage.image = [UIImage imageWithContentsOfFile:MainImagePath]; 

return cell; 
} 

答えて

1

私はついにそれを手に入れました。ここに私の最終的なコードです。

#define PHOTO_TAG 1 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
static NSString *CellIdentifier = @"Photo"; 

UIImageView *photo; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
UIImage *theImage = [UIImage imageNamed:[[appDelegate.sectionsDelegateDict objectAtIndex:indexPath.section] objectForKey:@"MainImage"]]; 

imageHeight = CGImageGetHeight(theImage.CGImage); 
imageWidth = CGImageGetWidth(theImage.CGImage); 

if (cell == nil) { 
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    photo = [[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, imageWidth, imageHeight)] autorelease]; 
    photo.tag = PHOTO_TAG; 
    [cell addSubview:photo]; 
} else { 
    photo = (UIImageView *) [cell viewWithTag:PHOTO_TAG]; 
    [photo setFrame:CGRectMake(0, 0, imageWidth, imageHeight)]; 
} 

photo.image = theImage; 
return cell; 
}