UISegmentedControl
의 각 세그먼트에 여러 줄의 텍스트를 설정해야합니다. 다음 코드를 시도했지만 잘 작동하지만 문제는 페이지가 처음로드되고 세그먼트 컨트롤이 처음으로 표시 될 때 여러 줄의 텍스트가 표시되지 않지만 클릭하면 세그먼트 중 하나에서 텍스트가 여러 줄로 표시됩니다. 해결 방법? 코드는 다음과 같습니다.UISegmentedControl의 세그먼트가 클릭 된 후에 여러 행의 텍스트가 표시되지만 처음에는 업데이트되지 않습니다. - 업데이트 코드
-(void)configureInitialPage
{
//Setting up the segmented control
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:trends];
segmentedControl.tintColor = [UIColor colorWithRed:0.03 green:0.28 blue:0.51 alpha:1.0];
for (id segment in [segmentedControl subviews]) {
for (id label in [segment subviews]) {
if ([label isKindOfClass:[UILabel class]]) {
UILabel *titleLabel = (UILabel *) label;
titleLabel.frame = CGRectMake(0, 0, 97, 50);
[titleLabel setFont:[UIFont boldSystemFontOfSize:10]];
titleLabel.adjustsFontSizeToFitWidth = YES;
titleLabel.numberOfLines = 0;
}
}
}
[segmentedControl addTarget:self action:@selector(segmentValueChanged:) forControlEvents:UIControlEventValueChanged];
segmentedControl.frame = CGRectMake(20, 510, 720, 40);
segmentedControl.selectedSegmentIndex = 0;
[segmentedControl layoutIfNeeded];
[self.view addSubview:segmentedControl];
}
보기에 컨트롤을 어떻게 추가합니까? 코드 게시 – vokilam
컨트롤러의 viewDidLoad에서 위의 메소드 "configureInitialPage"를 호출했습니다. – Shradha