我有一个UIImage
上面,我应该以UIImage
编程方式添加另一个,上面会有一个UILabel
. 我成功添加了图像,但它与标签重叠。
如果 1. BG 图像 2. 要以编程方式添加的图像 3. 标签,
那么我想要的序列是 1 2 3
我得到的是
1 3 2
2 与我的标签重叠。我尝试过发送到后面、放在前面和bringSubviewToFront
. 它不起作用。
我有一个UIImage
上面,我应该以UIImage
编程方式添加另一个,上面会有一个UILabel
. 我成功添加了图像,但它与标签重叠。
如果 1. BG 图像 2. 要以编程方式添加的图像 3. 标签,
那么我想要的序列是 1 2 3
我得到的是
1 3 2
2 与我的标签重叠。我尝试过发送到后面、放在前面和bringSubviewToFront
. 它不起作用。
UIImageView *img2=[[UIImageView alloc] initWithImage: [UIImage imageNamed: @"TDK 3 Speaker.png"]];
//img2.backgroundColor=[UIColor clearColor];
[BgImage addSubview:img2];
UILabel *lblText=[[UILabel alloc]initWithFrame:CGRectMake(200, 0, 200, 40)];
lblText.text=@"I am Here";
//lblText.backgroundColor=[UIColor clearColor];
[BgImage addSubview:lblText];
您应该做的是在该序列本身中添加特定图像,即在 ViewWillAppear 或 ViewDidLoad 方法中使用该方法
self.view addSubview:BGimage
。然后在前一个图像上添加下一个图像,如
BGimage addSubview:image2
. 同样在 Image 2 上添加 UILabel
Image2 addSubview:Label
这会将您的图像和标签放在您想要的特定顺序中:)
试试这个,添加 QuartzCore.framework 并在你的头文件中
#import <QuartzCore/QuartzCore.h>
在你的实现文件中
your_Label.layer.zPosition=your_secondImage.layer.zPosition+1;
添加的顺序在这里很重要,后面的在前面添加子视图应该按顺序调用,首先是BGImage,然后是Image,然后是Label
如果你想显示 BG Image (1) 那么你也可以使用UIView
代替UIImageView
你也可以做同样的事情UIImageView
。
[yourUIView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"yourBackGroundImage"]]];
[yourUIView setFrame:CGRect(x,y,width,height)]; //yourExpectedFrame;
现在,创建一个UIImageView
(2)并在其中UIImage
设置 a ,还创建一个(3) 并根据the和相应的 with给出它。就这样。你完成了!frame
UIView
UILabel
frame
UIView
UIImageView
我不确定,但你试试这个:
为 UIImageView 设置属性 maskToBounds: YES。