2012-11-21 47 views
0

我嘗試做mac的resizableImageWithCapInsets(iOS中)。resizableImageWithCapInsets裏面的NSTableView(基於視圖)

// right bubble 
    NSLog(@"==================== OLD VALUES =============="); 
    NSLog(@"size->%@",NSStringFromSize(size)); 
    NSLog(@"cellView.frame->%@",NSStringFromRect(cellView.frame)); 

    NSLog(@"message.frame->%@",NSStringFromRect(cellView.message.frame)); 
    NSLog(@"background.frame->%@",NSStringFromRect(cellView.background.frame)); 

    cellView.background.frame = CGRectMake(cellView.frame.size.width - size.width, 
              - size.height + cellView.date.frame.size.height * 1.8, size.width, size.height); 


    necessaryBackgroundImage = [[NSImage imageNamed:@"OutgoingMessageBuble.png"] stretchableImageWithLeftCapWidth:20 topCapHeight:15]; 

    cellView.message.frame = CGRectMake(cellView.frame.size.width - size.width, 
             - size.height + cellView.date.frame.size.height * 1.8, size.width, size.height); 

    NSLog(@"==================== NEW VALUES =============="); 
    NSLog(@"message.frame->%@",NSStringFromRect(cellView.message.frame)); 
    NSLog(@"background.frame->%@",NSStringFromRect(cellView.background.frame)); 
    NSLog(@"necessaryBackgroundImage.size->%@",NSStringFromSize(necessaryBackgroundImage.size)); 
    cellView.background.image = necessaryBackgroundImage; 

我做從這裏嘗試NSImage中的子類: https://github.com/beefon/Mac---Stretchable-NSImage/blob/master/README

但它並不成功:

> 2012-11-22 01:02:30.009[37363:303] necessaryBackgroundImage.size->{43, 
> 32} 2012-11-22 01:02:30.004[37363:303] 
> necessaryBackgroundImage.size->{43, 32} 

enter image description here

類八方通與錯誤的大小返回圖像我期望

圖像的大小作爲必要幀:

> 2012-11-22 01:02:30.003[37363:303] background.frame->{{50.6875, 
> -115.19999999999999}, {265.3125, 162}} 

請你解釋一下,我錯了?代碼段讚賞,我明白,我必須使用NSDrawNinePartImage,但更好的是避免很長的路要走。我還發現,drawIntct的子類NSImage沒有叫任何地方,我不知道我可以推它。

+0

是你能找到解決這個問題呢? –

+0

現在不記得了,但一切正常) – user170317

回答

0

伸縮-NSImage中我以前不改變形象,但改寫了drawRect

相關問題