我正在尝试更改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为我放置(“第一”和“第二”)。 可以肯定,我把IBOutlet中在我的.h:
__weak IBOutlet UISegmentedControl *changeButton;
我缺少什么?一般来说,当我在IB中创建控件时,为了以编程方式访问它,将IBOutlet放入.h中是正确的方法吗?
您正在混合属性和ivars。是changeButton属性? – Fogmeister
@Fogmeister我不认为OP有什么属性声明,如果它是弱财产或弱变量,在这里并不重要。 – 2012-11-26 09:35:17
但是,如果他连接属性changeButton并尝试访问ivar changeButton,那么确实很重要。它们不是同一件事。他将需要访问ivar _changeButton(或self.changeButton)。 – Fogmeister