将NSString拆分为UITextField页面

时间:2012-01-27 14:43:01

标签: iphone uiscrollview nsstring uitextview

我有很多像这样的NSStrings:

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页。

任何想法或建议都将受到赞赏。

2 个答案:

答案 0 :(得分:1)

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

WWDC 2011 实施UIViewController包含视频的末尾详细讨论了

UIPageViewController

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

答案 1 :(得分:0)

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