2013-01-16 3 views
0

인터페이스 작성기에서 위치 지정 및 크기 조정 된 UIButton의 위치를 ​​변경하려고합니다. 나는 혼란 스럽다. 동적으로 UI 단추의 위치 변경

나는 viewDidAppear의 끝 부분에이 코드를 시도 :

[_smartphoneButton setFrame:CGRectMake(20, 20, 100, 50)]; 

아무것도 변경되지 않습니다. 그리고 _smartphoneButton.hidden = YES;이 작동하고 UIButton 이미지가 변경되기 때문에 _smartphoneButton이 유효하다는 것도 알고 있습니다.

그리고 제안 사항이 있습니까?

PS, 이러한 작업 없음 중 하나를

_smartphoneButton.frame = CGRectMake(20, 20, 100, 50); 

또는

_smartphoneButton.center = CGPointMake(10.0f, 10.0f); 

미리 감사드립니다!

+1

'숨김'지정 때문에 "유효하다는 것을"확실히 알지 못합니다. viewDidLoad에 중단 점을 넣고 그 점을 표시합니다. – CodaFi

+0

'center' 메소드가 작동하기 시작했습니다. 어느 것도 변하지 않았어. 흠. –

+1

빌드를 정리하고 폴더를 만들려고 했습니까? –

답변

0

CodaFi와 동의하면 _smartphoneButton 값을 보려면 중단 점을 넣으십시오.
viewWillAppear이 작동하더라도 다음과 같은 이유로 코드를 viewDidLoad으로 옮길 것을 제안합니다.
viewWillAppear은 ViewController의 라이브에서 여러 번 호출 할 수 있으며 아무 것도없는 버튼의 위치를 ​​수정합니다.

+0

어떻게하면 좋을까요? ViewDidAppear은 적어도 뷰 (ergo, redraw)의 프리젠 테이션을 따릅니다. 게다가, UIKit의 렌더링 메커니즘은 프레임이 설정된 후에 버튼을 다시 그리는 것이 아니라, 그것보다 똑똑합니다. – CodaFi

+0

@CodaFi 당신이 맞습니다. 그냥 테스트했는데 수정이 일어나고 있습니다. 나는 항상 애플이 그들의 명명 규칙을 따르고 있다고 생각했습니다. "했어"라는 말은 대개 전화를 받았다는 의미입니다. –