addSubview 之后的视图移动
View Moves After addSubview
我有一个 UIImageView
,上面有一个 UITextView
,我需要将图像和文本一起截屏,为此我需要将文本放在 UIImageView
所以我用 imageView.addSubview(textView)
.
问题是,当我使用 addSubview 时,textView 会向下和向左跳转,不再位于 imageView 之上。
为什么会发生这种情况,我该如何解决?
如果您的唯一目的是在图像上显示文字,那么您应该像这样使用 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。在这里,我只是在将框架设置为中间的图像添加到图像之后添加标签。希望你明白了。
我有一个 UIImageView
,上面有一个 UITextView
,我需要将图像和文本一起截屏,为此我需要将文本放在 UIImageView
所以我用 imageView.addSubview(textView)
.
问题是,当我使用 addSubview 时,textView 会向下和向左跳转,不再位于 imageView 之上。
为什么会发生这种情况,我该如何解决?
如果您的唯一目的是在图像上显示文字,那么您应该像这样使用 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。在这里,我只是在将框架设置为中间的图像添加到图像之后添加标签。希望你明白了。