2

UISegmentedControlのタイトルをプログラムで変更するにはどうすればよいですか?手伝っていただけませんか?

@synthesize filterControl; //UISegmentedControl

- (void)viewDidLoad
{
    [super viewDidLoad];

    filterControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"ALL",@"PROFIT",@"LOSS", nil]]; //not working

}
4

6 に答える 6

6

使用するだけ

-setTitle:(NSString*)title forSegmentAtIndex:(NSUInteger)index;
于 2013-04-24T18:50:45.400 に答える
2

直接変更できますsectionTitles

見逃されることが多いのは、を呼び出すことsetNeedsDisplay()です。

Swiftのコード:

segmentedControl.sectionTitles = ["All", "Profit", "Loss"]
segmentedControl.setNeedsDisplay()
于 2017-05-24T05:18:01.407 に答える
1
 [filterControl setTitle:@"All" forSegmentAtIndex:0];
 [filterControl setTitle:@"PROFIT" forSegmentAtIndex:1];
 [filterControl  setTitle:@"LOSS" forSegmentAtIndex:2];

これを試して。それがあなたのために働くことを願っています。

于 2016-06-28T06:57:43.107 に答える
0

更新しました :

以下の簡単なコードを使用して、UISegmentControlのタイトルをプログラムで設定します。

- (void)viewDidLoad {

    [super viewDidLoad];

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

//注:ここではself.segmentControl = filterControl

于 2019-05-09T06:56:47.683 に答える
0

Swift5

HmSegmentコントロールのタイトルのフォントとサイズを変更するには、titleTextAttributesプロパティを使用する必要があります。

segmentedControl.titleTextAttributes = [NSAttributedString.Key.font: UIFont(name: "Poppins-Medium", size: 16.0) as Any]
segmentedControl.setNeedsDisplay()
于 2021-06-07T13:07:11.020 に答える
-1

そのスーパービューにサブビューとしてfilterControlを追加しましたか?

于 2012-05-09T12:00:54.307 に答える