0

我正在开发一个需要为大文本放置 UITextView 的应用程序。我有一个大小为 180X89 的背景图像(与 UITextView 帧大小相同)。将图像放在 UITextView 后面时,一切看起来都很好,但是,当用户点击文本区域并出现键盘时,光标出现在图像边缘之外。

我希望光标出现在文本框中。

获取 UITextview 的代码

CGRect textViewFrame = CGRectMake(125.0f, 155.0f, 180.0f, 90.0f);
UITextView *textView = [[UITextView alloc] initWithFrame:textViewFrame];
textView.returnKeyType = UIReturnKeyDone;
textView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:  @"textbox.png"]];
textView.delegate = self;
[self.view addSubview:textView];

我用作背景的文本框的图像 屏幕截图显示光标位于背景图像外的左角

4

4 回答 4

1

尝试这个:

UIImage     *bgImage     = [UIImage imageNamed:@"textbox.png"];
UIImageView *bgImageView = [[UIImageView alloc] initWithImage:bgImage];

CGRect textViewFrame = CGRectMake(125.0f, 155.0f, 180.0f, 90.0f);
bgImageView.frame    = textViewFrame;

UITextView *textView = [[UITextView alloc] initWithFrame:textViewFrame];

textView.returnKeyType = UIReturnKeyDone;
textView.delegate      = self;

[self.view addSubview:bgImageView];
[self.view addSubview:textView];

或者类似的东西。

于 2013-02-01T05:55:11.050 回答
0

有非常简单的方法。只需在 TextView 后面使用 UIImageView 并将 UITextView 背景颜色设置为清晰颜色。

于 2013-02-01T05:41:16.263 回答
0

在这种情况下,您可以做的是将其尺寸UITextView缩小一点,以便它只出现在您的背景图像中,并使用框架(导入框架的标题)给出角半径UITextView。这种方法也会使边缘有点圆润,使其看起来像你上面提供的图像。<QuartzCore>textview.layer.cornerRadius = 10;UITextView

因此,简而言之,添加UIImageView然后添加UITextView上面的内容并将 textview 的背景设置为 clearcolor 。希望这可以帮助 !!!:)

于 2013-02-01T05:43:10.443 回答
0

在您的视图上添加 UIImageView,然后在 UIImageView 上添加 UITextView,内框为

CGPointMake(10,10) as Origin

CGSizeMake(imageView.frame.size.width - 20.0, imageView.frame.size.hieght - 20.0) as Size文本视图。

于 2013-02-01T05:47:24.227 回答