2013-02-14 2 views
0

iOS에서 응용 프로그램을 만드는 첫 걸음을하고 있습니다. 어쩌면 바보 같은 질문을하고있을 것입니다. 보기 컨트롤러에서 다른 동작을 만들기 위해 일부 단추와 텍스트 필드를 넣었습니다. 조직을 개선하기 위해 버튼과 텍스트 필드가 배치되는 영역을 한정하기 위해 테두리가있는 배경을 여러 개 배치하고 싶습니다. 텍스트 및 색상 배경이없는 텍스트 레이블을 넣고 그 위에 개체를 옮겨 보았습니다.하지만 단추와 텍스트 필드 위에 레이어가 배치 된 이유를 모르겠습니다. 그런 다음 텍스트 레이블의 불투명도를 수정하려고 시도했지만 완전히 만족스럽지 않습니다.보기 컨트롤러에 다른 배경 넣기

label1.layer.cornerRadius = 5.0; 
label1.layer.masksToBounds = YES; 
label1.layer.borderColor = [UIColor lightGrayColor].CGColor; 
label1.layer.borderWidth = 1.0; 
label1.layer.opacity = 0.1; 
label1.layer.backgroundColor = [UIColor whiteColor].CGColor; 

누구든지이 작업을 수행하거나 코드를 개선하는 데 도움이 될 수 있습니까?

답변

0

1) 그냥 스토리 보드에서 텍스트가 (단지 더 정확한 같은 차이)

2) UI 요소가 왼쪽 막대가에있는 순서로 대신 라벨의 정상에 UIView를 사용할 수 있습니다 중요한 것은 기본적으로 요소의 그리기 순서입니다. 맨 위의 요소가 그려 지므로

0

인터페이스 작성기를 사용하여 여러 UIImageView 개체를 배치하고 원하는대로 배경을 설정할 수 있습니다 Attributes Inspector에서 UIView에 요소를 배치하는 방법을 살펴보십시오. 아래의 것들은 맨 위에있는 것들 다음에 그려집니다.

0

내가 바로 당신을 이해하면 ...

는 서브 뷰 계층 구조와 형제 자매의 그리기 순서 뒤에 논리를 숙지합니다. 사용자 인터페이스 빌더에서 /당신은 다음과 같이 뷰를 정렬 할 수 스토리 보드 :

UIView (the default view that is connected to the view controller's view property) 
    \--UIView (This is a background to group UI Items as buttons or Lables 
     \-- UILabel 
     \-- UIButton 
    \--UIView (the next background) 
     \-- UILabel 
     \-- UIButton 

를 그 다음 coorindates하는 각 뷰의 좌표는 서브 뷰를 기준으로 통지합니다 제공합니다. 따라서 UILabel과 UIButton은 동일한 좌표를 가질 수 있지만 각 좌표는 매우 하위 뷰 내에 있습니다.

또 다른 옵션은 다음과 같습니다

UIView (the default view that is connected to the view controller's view property) 
\--UIView (Background) 
\--UIButton 
\--UILable 
\--UIView (Background) 
\--UIButton 
\--UILable 

또는이 경우에도

UIView (the default view that is connected to the view controller's view property) 
\--UIView (Background) 
\--UIView (Background) 
\--UIButton 
\--UILable 
\--UIButton 
\--UILable 

는 모든 UI elemets은 동일한 좌표 공간을 공유 할 수 있습니다. 이 경우 적절한 레이아웃을 고려해야합니다.

이 하나 작동하지 않을 것입니다 : 있는 UIView (뷰 컨트롤러의 뷰 속성에 연결되어있는 기본보기) --UIButton --UILable --UIButton --UILable --UIView (배경) - UIView (배경) 모든 좌표 등이 위의 예제와 동일하더라도 2 개의 백그라운드 뷰는 다른 UI 요소를 숨기고 다른 요소는 다른 요소 뒤에 이어지기 때문에 숨길 수 있습니다. 그리고 마지막 하나가 공간을 차지합니다.

관련 문제