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

问题描述 投票:0回答:4

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

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9Dak5PWi5wbmcifQ==” alt =“我用于背景的文本框的图像”>“屏幕快照显示了光标在背景图像之外的左上角”

iphone ios uiimageview uiimage uitextview
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];

或类似的东西。


0
投票

有非常简单的方法。只需在TextView后面使用UIImageView并将UITextView背景色设置为透明色即可。


0
投票

[在这种情况下,您可以做的是使UITextView的尺寸稍小一些,以使其仅出现在您的背景图片中,并使用UITextView这样的框架<QuartzCore>textview.layer.cornerRadius = 10;设置一个拐角半径](导入框架的标头)。这种方法还将使UITextView边缘变圆一些,使其看起来像上面提供的图像。

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


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

© www.soinside.com 2019 - 2024. All rights reserved.