2010-01-11 105 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