UITextView背景图像不适合UITextView框架的帧大小

时间:2013-02-01 05:35:08

标签: iphone ios uiimageview uiimage uitextview

我正在开发一个应用程序,我需要为大文本放置一个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];

image of textbox which I am using for background Screen shots showing cursor on left corner outside the background image

4 个答案:

答案 0 :(得分: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];

或类似的东西。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

在视图上添加UIImageView,然后在内部框架为

的UIImageView上添加UITextView
CGPointMake(10,10) as Origin
textView的

CGSizeMake(imageView.frame.size.width - 20.0, imageView.frame.size.hieght - 20.0) as Size