单击一段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]; }
在将[segmentedControl layoutIfNeeded]
添加为子视图之前,请执行此操作。