2012-10-30 3 views
0

프로그래밍 방식으로 UIButton을 변경하고 싶습니다. 상호 작용하지 마십시오.프로그래밍 방식으로 UIButton 가져 오기

보기에서 개체를 어떻게 가져올 수 있습니까? 내가 그 (것)들을 얻을 수 있으면 나는 그들을 통해 반복 할 수 있고, 원하는대로 UIButton을 얻고 그것을 변경할 수있다.

+2

모든 객체 – vishy

+0

예, I는를 사용 .. UR 버튼을 얻을 따라 사용하도록 배열'사용하는 관점에서 모든 객체와 배열로 view.subviews', 반복하여 얻을 수있다 self.subviews는 태그를 지정할 많은 버튼이있는 다른 뷰에서도 iterate를 반복합니다. – hub

답변

3

예, 가능합니다.

동적 인 숫자의 버튼을 다루는 경우 태그를 사용하면됩니다. UIButton (Interface Builder 또는 프로그래밍 방식으로)을 삽입 할 때 태그를 지정할 수 있습니다. 마찬가지로, view.tag = 6. 즉, 수퍼 뷰에서 버튼의 특정 인스턴스를 가져올 수 있습니다.

UIButton* btn = [UIButton alloc] initWithFrame:...]; 
.... 
[self.view addSubview:btn]; 

이 추가 단계는 태그를 (어떻게 태그를 추적 당신에게 달려있다)에 할당된다

은 실제로, 당신은 일반적으로 통해 버튼을 추가합니다.

btn.tag = 44; 

다시 액세스하려면 내보기에서 추출 할 수 있습니다.

UIButton* btn = (UIButton*)[self.view viewWithTag:44]; 

그리고 처음에 만든 인스턴스가 생성됩니다.

교체하려는 경우 이전 버전을 제거하고 새 것을 추가하기 만하면됩니다. 도면 내의

[btn removeFromSuperview]; 
UIButton* btn2 = [UIButton alloc] initWithFrame:...]; 
... 
[self.view addSubview:btn2]; 
+0

완벽! 태그에 태그를 붙이려면 잘 작동합니다. – hub

0

참조 콘센트 탭 섹션을 사용하여 xib에서 컨트롤러에 버튼을 연결할 수 있습니다. 그러면 모든 하위 뷰를 반복 할 필요가 없도록 버튼에 대한 참조가 생깁니다. 간단히 xib을 선택하고 사이드 유틸리티 메뉴를여십시오. 단추를 선택하고 유틸리티 메뉴에서 연결 속성을 클릭하십시오. "새 참조 콘센트"옆의 원을 클릭하여 컨트롤러의 .h 파일로 끕니다.

관련 문제