【问题标题】:splitting an NSString into UITextField pages将 NSString 拆分为 UITextField 页面
【发布时间】:2012-01-27 14:43:00
【问题描述】:

我有很多这样的 NSString:

NSString *eightlabel = @"The process is not permitted to remove material, double-sided upper and lower specification limits, default transmission band for both limits, R-profile, upper limit: arithmetic mean deviation 3,1 μm, evaluation length of five sampling lengths (default), “max-rule”, lower limit: arithmetic mean deviation 0,9 μm, evaluation length of five sampling lengths (default), “16 %-rule” (default.)";

这些被添加到这样的数组中:

self.pickerViewArray2 = [NSArray arrayWithObjects:
                             onelabel, twolabel, threelabel, fourlabel, fivelabel, sixlabel, sevenlabel,eightlabel,ninelabel,tenlabel,elevenlabel,twelvelabel,thirteenlabel,fourteenlabel,fifteenlabel,sixteenlabel,seventeenlabel,eightteenlabel,nineteenlabel,twentylabel, nil];

然后从uipickerview选择中恢复并显示在一个名为example的uitextview中:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{

    [myPicker selectRow:row inComponent:0 animated:YES];
    [myPicker reloadComponent:0];
    [myPicker selectRow:row inComponent:1 animated:YES];
    [myPicker reloadComponent:1];

    [example setText:[pickerViewArray2 objectAtIndex:row]];

} 

我的 uitextview 很小,只有 280 x 128,所以文本超出范围,我需要滚动文本字段,但我更喜欢水平分页文本字段。

如何将 nssstring 拆分为适合 textview 的页面,并允许用户根据需要水平滚动内容。

字符串的长度都是可变的,有些小到只需要一页 最多页数可能是 2 页。

我们将不胜感激任何想法或建议。

【问题讨论】:

    标签: iphone uiscrollview nsstring uitextview


    【解决方案1】:

    UITextView 不支持列或分页滚动。您可以使用UIPageViewController,也可以使用Core Text 自己绘制到UIScrollView 内的自定义视图。

    UIPageViewController 将在来自WWDC 2011实施 UIViewController 包含视频末尾详细讨论。

    我碰巧有一些示例代码使用 Core Text 在UIScrollView 中布置列。你可以在这里找到它:https://github.com/mayoff/core-text-columns/ColumnView.m 文件包含大部分有趣的代码。

    【讨论】:

    • 嗨 Rob,我检查了你的代码,它正是我想要的解决方案,但我不得不承认,在我学习的这个阶段,它太复杂了,我无法理解。我将尝试弄清楚代码中发生了什么,以及如何将其分解为适合我的东西。你有这方面的教程或我们新手编码员的一些指导方针吗?
    • 我没有教程,但是如果你googlecore text columns你肯定会找到一些其他的示例代码和教程代码。
    【解决方案2】:

    UITextView 不支持水平滚动。考虑改用 UIWebView 和 HTML 字符串。

    【讨论】:

    • 您好,感谢您的回复。所以你能详细说明一下吗?我可以很容易地转换字符串,并用 web 视图替换文本视图,但我不需要计算文本长度来获得分页效果吗?如果是这样,我现在如何拆分 html?
    猜你喜欢
    • 2011-04-18
    • 1970-01-01
    • 2011-05-02
    • 2019-11-18
    • 2023-03-31
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多