2016-04-20 70 views
1

我嘗試寫一些代碼,但我得到的標題中錯誤...這裏是代碼...無法將類型的價值「的CGRect」指定類型「CGSize」

let text: NSString = messages[indexPath.row] as! NSString 
var size: CGSize = text.boundingRectWithSize(CGSizeMake(240.0, 480.0), options: NSStringDrawingOptions.UsesDeviceMetrics, attributes: [NSFontAttributeName: UIFont.systemFontOfSize(14.0)], context: nil) 

我得到的錯誤在第二行

而且,我有Objective-C代碼,這是確定......但我想它在斯威夫特

NSString *text = [messages objectAtIndex:indexPath.row]; 
CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:14.0] constrainedToSize:CGSizeMake(240.0f, 480.0f) lineBreakMode:UILineBreakModeWordWrap]; 

在此先感謝!

+1

注意,您的Objective-C和斯威夫特代碼做不同的事情。在Swift中,你調用'boundingRectWithSize',在Objective-C中調用'sizeWithFont'。如果你將Objective-C轉換爲Swift,你也可以在Swift中調用'sizeWithFont'方法。 –

+0

我試圖用sizeWithFontn在swift中做到這一點,但它不工作...你能幫我嗎? – Edwjonn

+0

嗯,道歉,'sizeWithFont:constrainedToSize:lineBreakMode:'已在iOS 7.0中棄用,因此不包括在Swift中。 –

回答

6

嘗試增加.size像結尾:

var size:CGSize = text.boundingRectWithSize(CGSizeMake(240.0, 480.0), options: NSStringDrawingOptions.UsesDeviceMetrics, attributes: [NSFontAttributeName: UIFont.systemFontOfSize(14.0)], context: nil).size 
+1

是的..它的工作!謝謝!!! – Edwjonn

相關問題