2013-03-15 17 views
0

如果你想創建一個ImageView的,那麼你就需要這樣的創建:集的UIImageView的標籤下,而不是給出的座標

UIImageView *imgView = [[[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 100, 20)] autorelease]; 

x和y座標是10,但如果你有什麼有一個標籤或其他東西(一個文本視圖,你不知道文本會在多長時間內)在同一個地方。你怎麼能把它總是在標籤下面顯示出來的圖像,所以而不是給座標你能做什麼?

+0

如果用故事板工作,你可以把你來自哪裏,圖書館需要一個ImageView的。 – 2013-03-15 13:32:39

+0

我不使用故事板 – Shinonuma 2013-03-15 13:33:59

+1

爲什麼不在UIImageView中添加一個'UILabel'作爲子視圖? '[imageView addSubview:yourLabel];' – nsgulliver 2013-03-15 13:35:11

回答

1
UIImageView *imgView = [[[UIImageView alloc] initWithFrame:CGRectMake(_yourLabel.frame.origin.x, _yourLabel.frame.origin.y, 100, 20)] autorelease]; 

則:

[yourView addSubview:imgView]; 
[yourView addSubview:_yourLabel]; 
+0

謝謝,用_yourLabel.frame.origin.x替換這個_yourLabel.frame.size.origin.x和它的罰款 – Shinonuma 2013-03-15 13:42:22

+0

@Shinonuma,是的,你是對的,哈哈,不記得沒有xCode – 2013-03-15 13:44:20

2

爲此,您可以採用兩種方法。

1.添加你的圖像視圖到你的視圖之後,添加標籤或任何東西到你的視圖然後它重疊圖像視圖,但給backGroundColor清除顏色。

2.將該標籤添加到imageview並將imageview添加到Self.view。

IMP:清除放置在UIImageView上的物體的backGroundColor

+0

然後,您可以在超級視圖中同時放置imageview和textview。另外,在使用'NSString sizeWithFont'設置文本之前,您可以獲取標籤的大小。 – 2013-03-15 13:38:44

1

設置的高度和寬度也等於UILabel

UIImageView *imgView = [[[UIImageView alloc] initWithFrame:CGRectMake(yourLabel.frame.origin.x, yourLabel.frame.origin.y, yourLabel.frame.size.width,yourLabel.frame.size.height)] autorelease]; 
[self addSubview:imgView]; 
[self addSubview:yourLabel];