2013-03-15 3 views
0

, 당신은이처럼 만들어야합니다설정있는 UIImageView는

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

x 및 y 좌표는 10입니다,하지만 당신의 경우 정확히 같은 장소에있는 라벨이나 다른 텍스트 (텍스트의 길이를 모르는 텍스트 뷰)가 있습니다. 어떻게하면 항상 레이블에 표시 될 이미지를 넣을 수 있습니까? 대신 좌표를 제공하는 대신 할 수있는 작업은 무엇입니까?

+0

에 높이도 폭이 동일하게 설정합니다. –

+0

스토리 보드를 사용하지 않습니다 – Shinonuma

+1

'UIImageView'에 'UILabel'을 서브 뷰로 추가하지 않는 이유는 무엇입니까? '[imageView addSubview : yourLabel]; ' – nsgulliver

답변

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.size.origin.x를 _yourLabel.frame.origin.x로 바꾸고 그 값어치가 – Shinonuma

+0

@Shinonuma입니다. 예, 맞습니다. 하하, xCode없이 기억이 나빴습니다. –

2

두 가지 방법이 있습니다.

1.보기에 이미지보기를 추가 한 다음 라벨에 레이블을 추가하거나보기에 아무 것도 추가하지 않으면 이미지보기가 겹치지 만 색상을 지우려면 backGroundColor을 지정하십시오.

2. 해당 라벨을 이미지 뷰에 추가하고 이미지 뷰를 Self.view에 추가하십시오.

IMP : UIImageView에있는 객체의 backGroundColor을 지우십시오. 다음

+0

그런 다음 수퍼 뷰 내에 이미지 뷰와 텍스트 뷰를 가운데에 배치 할 수 있습니다. 또한 'NSString sizeWithFont'를 사용하여 텍스트를 설정하기 전에 레이블 크기를 가져올 수 있습니다. –

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]; 
관련 문제