更新与源代码示例:
Here is some ready to use source code example(带图像和笔尖文件和部分源代码,实际上是一个全压缩的Xcode项目),而不是为iPhone,不使用的Core Animation,只用几个简单的NSImages的和一个NSImageView。这只是一个便宜的黑客攻击,它并没有实现你所要求的全部功能(抱歉,但我不想为你编写源代码:-P),可怕的代码布局(嘿,我只是在几分钟,所以你不能指望任何更好的;-)),这只是一个演示如何做到这一点。它也可以用Core Animation来完成,但这种方法更简单。将按钮动画组合成一个NSImageView并不像子类化一个NSView并直接绘制其上下文,但它更简单(我只是想将最简单的解决方案拼凑在一起)。一旦滚动到最右边,它也不会回滚。因此,您只需要另一种方法即可向后滚动并启动另一个NSTimer,在您将点绘制到左侧2秒后启动。
只需在Xcode中打开项目并点击运行,就可以做到这一切。然后看看源代码。它并不是那么复杂(但是,你可能需要重新格式化它,布局很糟糕)。因为我的答复意见
更新:
如果你不使用苹果的UI元素可言,我看不出问题。在这种情况下,你的按钮甚至不是一个按钮,它只是一个可点击的视图(如果使用Cocoa,则为NSView)。你可以将NSView子类化为MyAnswerView,并覆盖绘制方法以绘制任何你想要的视图。多行文字,滚动文字,3D文字动画,完全取决于您的想象力。
Here's an example,显示了某人如何划分NSView以创建一个默认情况下不存在的完整自定义控件。控制是这样的:
alt text http://katidev.com/blog/wp-content/uploads/2008/03/asimocontrol.jpg
看到左上角的有趣的事情?这是一个控制。下面是它如何工作的:
alt text http://katidev.com/blog/wp-content/uploads/2008/03/conroldiagram.jpg
我讨厌这样说,因为这是不回答你的问题,但“不要做!”。 Apple有指导如何实现用户界面。虽然您可以自由地忽略它们,但Apple用户习惯于遵循这些指导原则制定用户界面,而不遵循这些用户界面将创建苹果用户觉得难看又没有吸引力的应用程序。
Here are Apple's Human Interface Guidelines
让我引用从那里
按钮的内容和标签
一个按钮总是包含文本,它 不包含图像。如果您需要 显示在 按钮图标或其他图像,改为使用斜角按钮, 中描述的“斜角按钮”。
上按钮的标签应该是一个 动词或动词词组描述它执行的动作 - 保存,关闭,打印, 删除,更改密码等。如果 按钮作用于单个 设置,请尽可能专门将按钮标记为 ; “选择 图片...”,例如,比“选择...”更有用 有帮助因为按钮 启动立即动作,所以在标签中使用“now” (例如,立即扫描)不应该需要使用 。
按下按钮标签应该有 标题样式的大写,如在 “的 接口元素标签和文字资本化。”如果 按钮立即打开 另一个窗口,对话框,或者应用 执行其操作,您可以在标签中使用省略号 。例如, Mail偏好显示一个推 按钮,其包括省略号 因为它打开的.Mac系统 偏好,如图15-8。
按钮应该包含单个动词或动词短语,而不是琐事游戏的答案!如果您有2到5个答案,您应该使用单选按钮让用户选择答案,然后按确定按钮让用户接受答案。对于5个以上的答案,您应该根据指导原则考虑一个弹出式选择器,不过我猜这在这种情况下会比较难看。
你可以考虑使用只有一列,每回答一个行和每一单元多的表,如果答案是很长,而且需要突破。因此,用户通过单击它来选择一个表格行,这会突出显示表格单元格,然后单击确定按钮完成。或者,只要用户选择任何表格单元格,就可以直接继续(但这样可以让用户有机会纠正意外点击)。另一方面,在MacOS X上,具有多行单元格的表格相当罕见。iPhone使用了一些,但通常文本很少(最多两行)。
我的用户界面不使用任何内置UI元素的苹果股票,我想保持这种方式。虽然我很欣赏你的表格建议,但它不符合我的主题。请参阅http://driph.com/words/2008/08/game-trivia-catechism-iphone-teaser/了解我为什么要尝试这样做。 – Lounges 2008-09-29 15:11:50