2013-06-14 2 views
7

Xcode 4.6.1을 사용하고 iOS 6 용으로 개발 중입니다.프로그래밍 방식으로 iOS에서 버튼 크기 조정

버튼을 스토리 보드에 추가했습니다. 나는 다음과 같이 (: ViewController.m이 같은 파일에) : 버튼 b1의 속성을 변경하려고

// 
    // ViewController.m 
    // 

    #import "ViewController.h" 

    @interface ViewController() 

    @property (weak, nonatomic) IBOutlet UIButton *b1; 

    @end 

: 내 구현 파일 ViewController.m에서 출구를 만든

- (void)viewDidLoad 
    { 
     [super viewDidLoad]; 
     // Do any additional setup after loading the view, typically from a nib. 

     self.b1.alpha = 0.5; 
     self.b1.frame = CGRectMake(0,0,123,412); 
    } 

나는 실행 응용 프로그램 시뮬레이터에서 alpha 단추의 0.5 성공적으로 설정됩니다. 그러나 단추의 위치와 크기는 변경되지 않습니다.

나는 그것을 만들기 위해 다양한 방법을 시도했다. 그러나 아무것도 작동하는 것 같습니다. 나는 내가 뭘 잘못하고 있는지 알고 싶다. 나는 Objective C에게 새로운 것이기 때문에 도움이된다면 크게 감사 할 것입니다.

+0

viewDidLoad 대신에 viewDidLayoutSubviews에서 프레임을 설정해보십시오. –

답변

18

당신은 아마 자동 레이아웃 사용 : 자동 레이아웃 사용하는 경우

enter image description here

수동으로 콘센트 프레임을 변경할 수 없습니다. 당신이 중 하나를 비활성화 자동 레이아웃 (다음 코드가 작동한다)하거나 프로그래밍 방식으로 제약을 수정 한 후 제약에 콘센트를 만들어 : 당신은 두 가지 옵션이 있습니다

self.widthConstraint.constant = 123; 
: 코드에서

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *widthConstraint; 

다음을

등등 수정해야하는 모든 제약 조건이 있습니다.

관련 문제