【问题标题】:UITextView or UIWebView: How to display pages of a simple editable TXT fileUITextView 或 UIWebView:如何显示简单的可编辑 TXT 文件的页面
【发布时间】:2011-03-08 12:00:20
【问题描述】:

我想要的只是一个全屏的简单文本编辑器。但是,我不想要滚动组件,而是让用户浏览页面(而不是滚动)。所以我需要导入或打开一个 TXT,然后通过将其停止来格式化它(例如通过将其内容划分为每屏/页 10 行)。

我的问题是如何显示 txt? UITextView 是可滚动的(即使我可以在 IB 中禁用它)...我没有找到任何方法让 UIWebView 让它在不同的“页面”或屏幕上格式化我的内容。

我需要从哪里开始? 理想情况下,我需要一些示例代码。 UIWebView 的所有示例都没有告诉我如何在多个页面上设置可编辑文本的格式。

所以我真正想要的是一个不可滚动的 UITextView,如果第一页/屏幕上的空间不足,它会打开一个新页面/屏幕。

感谢您帮助我入门。

【问题讨论】:

    标签: iphone cocoa-touch sdk uiwebview uitextview


    【解决方案1】:

    第一件事……没有特定的方法可以实现这一点

    1.你需要把你的单个字符串分成多个字符串,你可以使用

      int pageNumber; // suppose this keep track of on what page you are
      int count; //suppose this keep track of how long string your one screen support
      NSString* completeString; //suppose this is your string
      NSRange range = NSMakeRange(pageNumber * count, count);
      NSString* temp = [completeString substringWithRange:range];
    

    2.现在你应该使用 UILable 而不是使用 UITextView(如果你不想要用户交互) 只需更改 UILabel 的属性(这是您感兴趣的)

    UILabel* myLabel; //suppose this is that label
    myLabel.numberOfLines = 0; //this will chage your label to go multyline.
    

    【讨论】:

    • 感谢您的回答。但是,我不知道如何解释屏幕上的线条。如果我只计算我的字符串可以有多长,我会得到一个值,它有多少个字符,而不是它在屏幕上占用多少 LINES...
    • 另外,我需要用户交互的能力,所以我需要坚持使用 UITextView。
    • 您不认为最好使用 Gnuchu 建议的选项,他告诉我将 UITextView 放入 UIScrollView 然后启用 pagingEnabled?感谢您的帮助!
    【解决方案2】:

    您应该能够通过将 UITextView 放入 UIScrollView 并将 UIScrollView 上的 pagingEnabled 设置为 YES 来实现此目的。

    【讨论】:

    • 非常感谢您为我指明了方向。这很有道理!
    • 嗯...刚试过这个,但它不起作用。根据文档,当用户滚动时,pagingEnabled 只会导致滚动视图在滚动视图的 BOUNDS 的 MULTIPLES 处停止。这并没有给我这样的效果,例如,如果您有两个文本屏幕,您可以通过滑动手势从一个屏幕翻转到另一个屏幕(就像在书中)......
    • 看看 Matt Gallacher 的这个教程。它可能会有所帮助:cocoawithlove.com/2009/01/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 2013-03-18
    相关资源
    最近更新 更多