如何一次显示两个滚动文本视图

时间:2011-08-16 19:57:02

标签: iphone uiviewcontroller uitextview

我想在屏幕上显示两个窗口,其中包含滚动文字,例如顶部窗口将有一个圣经翻译,而底部视图将有另一个。

理想情况下,我希望它们保持同步,以便它们在各自的翻译中显示相同的点(即在顶视图中切换到John Ch1,底视图跟随并且相同)。但是现在我只是好奇如何将它们分成两个独立的可视窗口。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

说实话,我不认为你有足够的屏幕空间来为iPhone做这件事,对用户来说视觉上很舒服。

除此之外,最好的方法取决于你的应用程序的其余部分是如何构建的。您可以创建一个包含两个UITextView的视图,每个视图占据大约一半的屏幕。你应该可以滚动一个作为对另一个滚动的响应,虽然我还没有这样做,所以我不能告诉你如何完成它。

您拥有的另一个选项是使用主UITextView,然后使用覆盖在其上方的第二个UIModalView。这一切都取决于应用程序结构。

请注意,除非你有特定的翻译点标记,否则很难让它们以这种方式同步。你可以尝试匹配行号,或类似的东西,但由于语言如此不同,可能需要3行,而翻译可能需要4来说同样的事情。

答案 1 :(得分:0)

这是一个相当基本的问题,所以您应该重新访问iOS Application Programming Guide,但简而言之,您在应用程序的视图中有两个UITextView元素,并且您可以使用构建的它们在它们之间进行同步在setter方法

- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

答案 2 :(得分:0)

这里有两个需求:

(1)您需要创建一个可以保存翻译的数据模型,并将每个翻译中的每个章节和诗节链接到所有其他翻译中的章节和经文。为此,我建议学习核心数据。准备花一些时间学习它。

(2)您需要显示翻译。为此,我建议您在相同的包含视图中使用两个UITextView。但是,正如Karoly S所指出的那样,iphone屏幕上确实没有两个文本视图的空间。我建议使用flip transition连接两个视图,这样您就可以在一个完整的屏幕上进行一次翻译,然后翻到另一个翻译。用户可以快速来回翻动进行比较。