我需要在 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 actionselector(segmentValueChanged forControlEvents:UIControlEventValueChanged];
segmentedControl.frame = CGRectMake(20, 510, 720, 40);
segmentedControl.selectedSegmentIndex = 0;
[segmentedControl layoutIfNeeded];
[self.view addSubview:segmentedControl];
}
Best Answer-推荐答案 strong>
在将其添加为 subview 之前执行 [segmentedControl layoutIfNeeded] 。
关于ios - 单击一段 UISegmentedControl 后显示多行文本,但最初不是 - 更新的代码,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/22165171/
|