2016-12-17 2 views
0

Dies ist mein Code:Wie skaliere ich UIImage in der Tabellenansicht?

UIImage *image1 = [UIImage imageNamed:@"AllMyFiles-1 (dragged).tiff"]; 
cell.imageView.image = image1; 

cell.textLabel.text = self.greekLetters[indexPath.row]; 

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

cell.imageView.contentMode = UIViewContentModeScaleAspectFit; 

Und das ist, wie es aussieht: tableview with image

Und ich möchte, dass die UIImage sein etwas kleiner viel wie folgt aus: Es tableview with smaller image

Antwort

1

sind einige Optionen, um das zu lösen ...

1) Sie können Transparenz in Ihr Bild setzen, bekommen etwas wie folgt aus: image centered with transparency

2) Sie können Ihre benutzerdefinierten Zellen Prototyp auf dem Storyboard oder Xib Datei

3) Sie Ihr Bild programmatisch können die Größe ziehen:

Fügen Sie diese Methode auf Ihrer Klasse oder eine Verlängerung der UIImage:

- (UIImage *) reziseImage:(UIImage*) image withSize:(CGSize) newSize { 
    UIGraphicsBeginImageContext(newSize); 
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0); 
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return newImage; 
} 

und auf Ihrem Methode aufrufen:

UIImage *image1 = [UIImage imageNamed:@"AllMyFiles-1 (dragged).tiff"]; 
cell.imageView.image = image1; 
CGSize newSize = CGSizeMake(25, 25); 
image1 = [self reziseImage:image1 withSize:newSize]; 
cell.imageView.image = image1; 

cell.textLabel.text = self.greekLetters[indexPath.row]; 

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

cell.imageView.contentMode = UIViewContentModeScaleAspectFit; 
Verwandte Themen