2012-06-26 48 views
4

我使用:圖片過大在UITableView的細胞

NSString *thearticleImage = entry.articleImage; 
    NSRegularExpression *expression = [NSRegularExpression regularExpressionWithPattern:@"(?i)\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?«»「」‘’]))" options:NSRegularExpressionCaseInsensitive error:NULL]; 
    NSString *someString = thearticleImage; 
    self.theurl = [someString substringWithRange:[expression rangeOfFirstMatchInString:someString options:NSMatchingCompleted range:NSMakeRange(0, [someString length])]]; 
    NSURL *picimage = [NSURL URLWithString:theurl]; 



    NSData * urlData = [NSData dataWithContentsOfURL: picimage]; 
    UIImage * imageweb = [UIImage imageWithData: urlData]; 

    cell.imageView.frame = CGRectMake(0, 0, 70, 70); 
    cell.imageView.image = imageweb; 

的問題是,這佔據了整個小區,我不知道爲什麼它不只是在左手邊。

回答

5

我遇到類似的問題,我的表格單元格的圖像。我用下面的縮放圖片:

UIImage *imageOne = [UIImage imageNamed:[imagesArray objectAtIndex:indexPath.row]]; 

cell.imageView.image = [UIImage imageWithCGImage:imageOne.CGImage scale:imageOne.size.width/40 orientation:imageOne.imageOrientation]; 

注:考慮「40」以上是你要多少像素寬的圖像是一個代表。

+0

那麼解決方案確實解決了這個問題,但有一個竅門。 – StackUnderflow

1

既然你不說,其中的ImageView創建(代碼或IB)我的猜測是,你在IB創建的ImageView爲它勝過你在代碼中設置了框的特定細胞。