UISegmentedControl文本以编程方式

时间:2012-03-22 00:58:48

标签: iphone objective-c ios ipad

我使用界面构建器(来自故事板)创建了一个带有两个段的UISegmentedControl,但我想以编程方式设置两个段的文本。我想这样做因为我使用NSLocalizedString来处理我的所有按钮,标签,标题等。 我在界面构建器中创建了所有内容,然后以编程方式添加文本。 我已经设法让每个项目以这种方式工作,但我找不到向UISegmentedControl添加文本的方法。

有没有办法做到这一点? 我试图使用以下内容,但因为已经在界面构建器中创建了分段控件,所以它不起作用。

[segmentedControl initWithItems:[NSArray arrayWithObjects:NSLocalizedString(@"Title 1", @"Title 1"),NSLocalizedString(@"Title 2", @"Title 2"), nil]];

非常感谢

4 个答案:

答案 0 :(得分:185)

[segmentedControl setTitle:<YourLocalizedString> forSegmentAtIndex:0];

答案 1 :(得分:9)

使用setTitle:forSegmentAtIndex:将标题分配给细分控件的细分。

希望这会对你有所帮助。

答案 2 :(得分:9)

使用 SWIFT 4 的人的正确答案是

segmentedControl.setTitle("Your Title", forSegmentAt: 0)

答案 3 :(得分:0)

  

已更新:

使用下面的简单代码以编程方式设置UISegmentControl标题;

//。h文件:

@property (weak, nonatomic) IBOutlet UISegmentedControl *segmentControl;

// .m文件:

- (void)viewDidLoad {

    [super viewDidLoad];

     [self.segmentControl setTitle:@"Love It" forSegmentAtIndex:0];
     [self.segmentControl setTitle:@"Hate It" forSegmentAtIndex:1];        
     [self.segmentControl setTitle:@"Ehh" forSegmentAtIndex:2];
}