IB에서 만든 UISegmentedControl의 텍스트를 변경하려고합니다. 이것은 코드입니다UISegmentedControl 텍스트 변경
[changeButton removeAllSegments];
[changeButton insertSegmentWithTitle:NSLocalizedString(@"Traffic",@"traffic string") atIndex:0 animated:YES];
[changeButton insertSegmentWithTitle:NSLocalizedString(@"Satellite",@"satellite string") atIndex:1 animated:YES];
하지만 아무 일도 일어나지 않습니다 : 나는 항상 기본 레이블 인 나를 위해 두는 IB ("First"와 "Second")를 봅니다. 확인을 위해 , 내 .H에 함께 IBOutlet을 넣어 :
__weak IBOutlet UISegmentedControl *changeButton;
나는 무엇을 놓치고? 일반적으로 IB에서 컨트롤을 만들 때 프로그래밍 방식으로 액세스하려면 IBOutlet을 .h에 넣는 것이 올바른 방법입니까?
속성과 ivars가 혼합되어 있습니다. changeButton이 속성입니까? – Fogmeister
@ Fogmeister OP가 가지고있는 것이 속성 선언이라고 생각하지 않습니다. 약한 속성인지 약한 변수인지는 중요하지 않습니다. –
그가 changeButton 속성을 연결하고 ivar changeButton에 액세스하려고해도 문제가되지 않습니다. 그것들은 같은 것이 아닙니다. 그는 ivar _changeButton (또는 self.changeButton)에 액세스해야합니다. – Fogmeister