2010-01-11 98 views
4

我一直在嘗試創建一個聊天泡泡約一個月,現在......(你知道,就像iChat或Tweetie中的那個)。在某個時候,我發現一個主題,說我可以使用Twitterfon的來源......我所做的。但由於幾個原因我陷入困境。哪個? Apple似乎沒有實現計算矩形尺寸所需的所有方法。例如:NSTextField沒有實現一種允許我給NSRect以便計算最佳大小的方法。事實是,Tweetie的泡沫反應總是完美的。我給他寫了一段話,詢問他是怎麼做到的,但我沒有得到答覆。雖然,據我瞭解,因爲它被用於商業應用。我認爲,隨着iPhone的短信應用程序(和iChat,或包括聊天泡泡在內的任何應用程序)的普及,有人可能會在OS X上實現一個實現,並使其成爲開源代碼。我不是很有經驗,主要是我沒有時間(學校),所以這就是爲什麼我一直在爲它工作一個月,並沒有找到解決辦法。聊天泡泡可可

如果有人在Cocoa上創建了這個東西,他們會不會解釋他們的解決方案?或者更好的是,顯示一些代碼...

回答

6

AppKit NSString Additions有測量繪製字符串的方法,對於更高級的目的,你可以使用NSLayoutManager。有關更多信息,請參閱Text Layout Programming Guide

+0

好的謝謝。你知道任何演示實現的代碼嗎?我一直在尋找 – 2010-01-11 18:37:36

+0

Jerry Krinock's * NS(Attributed)String + Geometrics *類別可能是您正在尋找的內容:http://www.sheepsystems.com/sourceCode/sourceStringGeometrics.html – 2010-01-12 00:39:43

+0

謝謝irsk。 我設法用nslayoutmanager做了一些看起來不錯的事情,但是我有一個問題開始冒充自己:如果聊天氣泡中的文本太多,文本開始降低它應該繪製的邊距。我該如何解決 ?再次感謝那些幫助過我的人 我會盡力在完成時釋放代碼 – 2010-01-16 19:00:17

1

或者,您可以使用WebKit和HTML/CSS。我相信這是Adium如何實現其即時消息主題。

1

查看BubbleThingie示例代碼,瞭解如何進行圖像遮罩的示例。它還有一個如何使用UIButton或UILabel來完成文本氣泡的示例,並執行所有大小計算。它也允許爲任何顏色着色氣泡。

enter image description here