如何将 UITextView 插入 UIImageView

Posted

技术标签:

【中文标题】如何将 UITextView 插入 UIImageView【英文标题】:How to insert a UITextView to a UIImageView 【发布时间】:2012-10-25 08:03:45 【问题描述】:

我正在编写一个应用程序,您可以在其中创建 UIImageView 对象。 可以设置这些对象的颜色。

但是我下一步要做的是:在imageView中设置一个TextView,但是这个文本应该由用户输入(当然是用UIKeyboard类实现的。)

我总而言之:我有一个 imageView,其中需要一个可编辑的 UITextView。

你知道它是如何实现的吗?

【问题讨论】:

在 UIImageView 上方放置一个 UITextView 不能解决问题吗? 你有没有偶然尝试过[myUIImageView addSubView:myUITextView] Tom Jowett 谢谢,它正在工作。只是致力于优化整个事情:) 【参考方案1】:

你的方法是错误的。

您想要一个图像视图,因为该应用允许您“创建图像”

实际上从技术上讲这是不正确的,您要做的是使用简单的UIView 设置区域的颜色,然后在其上放置UITextFieldUITextView

UIImageView 是一个非常具体的 UIView 子类,用于显示图像。你不能在其中添加你的其他 UI,你能做的最好的就是在它上面。

我确实使用了UIView,完成后您需要将UIView“转换”为可用于保存、发送等操作的图像

有关更多信息,请查看Save UIView's representation to file

【讨论】:

【参考方案2】:

您只想继承 UIImageView 并在初始化期间添加 UITextView。像这样

@interface MyImageView : UIImageView    


@property (nonatomic, strong) UITextView *textView;
@end

以及实现

@implementation MyImageView
- (id)init 
    if ((self = [super init])) 
        self.textView = [[UITextView alloc] initWithFrame:CGRectMake(...)];
        [self addSubview:self.textView];
    
    return self;

@end

【讨论】:

这里我真的不建议子类化 UIImageView,请看下面我的想法。

以上是关于如何将 UITextView 插入 UIImageView的主要内容,如果未能解决你的问题,请参考以下文章

如何将 UITextView 插入 UIImageView

UITextView如何禁用带有内容插入的水平滚动

Swift(iOS)将UIImage数组插入子视图?

在 UITextView.attributedText 中插入 unicode 的正确方法

如何在 UITextView 中插入占位符? [复制]

以编程方式将文本插入 UITextView 而不移动插入符号位置。