我有UIImageView
,并且在UITextView
之上,我需要将图像和文本的屏幕截图放在一起,为此我需要将文本放在{{1}内所以我使用UIImageView
。
问题在于,当我使用addSubview时,textView会向下跳转并且不再位于imageView之上。
为什么会发生这种情况?我该如何解决?
答案 0 :(得分:0)
如果您的唯一目的是在图片上显示文字,那么您应该使用UILabel
这样:
// Add image view
UIImageView *myImageView = [[UIImageView alloc] initWithFrame:CGRectMake(5, 5, myImage.size.width, myImage.size.height)];
[self.view addSubView:myImageView];
// Now lets add label
UILabel *testLabel = [[UILabel alloc] initWithFrame:CGRectMake(myImageView.frame.origin.x + (myImage.size.width / 2), myImageView.frame.origin.y + (myImage.size.height / 2), 50, 15)];
test.text = @"Image Caption";
[self.view addSubview:testLabel];
基本规则是UI组件是逐层的,最后添加的组件位于图层的顶部,然后通过合并所有图层来到最终的UI。这里我只是在添加图像后添加标签,框架设置中间到图像。希望你明白了。