2011-11-23 5 views
1

내 스토리 보드의 장면 중 하나에서 버튼을 배치했습니다. 그것은보기에 벌금을 보여줍니다.코드로 스토리 보드 요소 연결

뷰 자체가 I 스토리 보드의 관점에서 버튼에 연결된 출구 모두

IBOutlet UIButton *b; 

@property (strong) IBOutlet UIButton *b; 

포함 GameView 클래스에 의해 표현된다.

.m 파일에서 GameView 클래스는, 내가 : 버튼이 프로그램을 만들 때 다음과 같은 프로그램이 실행되면 벌금 그러나, 스토리 보드에서 버튼을

deal = [UIButton buttonWithType:UIButtonTypeRoundedRect] ; 
[deal setFrame:CGRectMake(420,170, 50, 30)]; 
[deal setTitle:@"Deal" forState:UIControlStateNormal]; 

[self addSubview:[self deal]]; 

입니다

[[self b] setFrame:CGRectMake(420, 260, 50, 30)]; 
[b setTitle:@"!!!" forState:UIControlStateNormal]; 
[self addSubview:[self b]]; 

작동

보이지. 왜?

+0

버튼이 이미 InterfaceBuilder 스토리 보드에있는 경우'[self addSubview : [self b]];는 필요하지 않습니다. 그것은 실제로 문제 일지 모르지만 확실하지는 않습니다. 그 라인을 꺼내서 무슨 일이 일어나는지보십시오. – chown

+0

좋은 추측이지만 그렇게하지 못했습니다. 비록 의미가있다. – JAM

+0

'setFrame' 버튼에 대한'set'는 당신이 스토리 보드에서 가지고있는 곳에서 그것을 이동하려고하지 않는 한 필요하지 않습니다. 'NSLog (@ "% @", self.b)를 할 때 어떻게됩니까? – chown

답변

1

나는 서사시 인 새다. 응답을 게시하면 다른 사람이 유용하다고 생각할 수 있기를 기대합니다.

기본적으로 필자의 경우보기는 스토리 보드의 화면에 보이는 것이 무엇이든 효과적으로 객체 생성시 대체됩니다.

UIView *gameView = [[GameView alloc] initWithFrame:CGRectMake(0, 0, 480, 300)]; 
[[self view] addSubview:gameView]; 

내가는 ControllerIBOutlets을 넣어 그것은 마법처럼 일했다
[bb setFrame:CGRectMake(420, 260, 50, 30)]; 
[bb setTitle:@"---" forState:UIControlStateNormal]; 
[gameView addSubview:[self bb]]; 

을 추가하면.

+0

그래서 정확히 무엇을 고쳤 을까? 나는이 코드와 그 질문의 코드에서 어떤 차이점을 보지 못했는가? – chown

+0

'UIView' 클래스에있는 코드 대신 뷰를 생성하기 전에 UIVIewController에 배치하고 프레임 크기를 설정하십시오. – JAM

+0

아, 멋지다! 다행 이군! – chown