I have created a UISegmentedControl with two segments using the interface builder (from storyboard), but I would like to set the text of the two segments programmatically. I want to do this because I am using NSLocalizedString for all of my buttons, labels, titles etc. I create all the stuff in interface builder and then I add text programmatically. I have manage to make every item to work that way but I cannot find a way to add text to my UISegmentedControl.
Is there any way to do that? I ma trying to use the following but because the segmented control is already created in the interface builder it does not work.
[segmentedControl initWithItems:[NSArray arrayWithObjects:NSLocalizedString(@"Title 1", @"Title 1"),NSLocalizedString(@"Title 2", @"Title 2"), nil]];
Thanks a lot
[segmentedControl setTitle:<YourLocalizedString> forSegmentAtIndex:0];
使用SWIFT 4的人的正确答案是
segmentedControl.setTitle("Your Title", forSegmentAt: 0)
Use setTitle:forSegmentAtIndex: to assign the title to your segments of the segmented control.
Hope this would help you.
Updated :
Use below simple code to set UISegmentControl title programatically;
//.h file:
@property (weak, nonatomic) IBOutlet UISegmentedControl *segmentControl;
// .m file:
- (void)viewDidLoad {
[super viewDidLoad];
[self.segmentControl setTitle:@"Love It" forSegmentAtIndex:0];
[self.segmentControl setTitle:@"Hate It" forSegmentAtIndex:1];
[self.segmentControl setTitle:@"Ehh" forSegmentAtIndex:2];
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.