默认的UISegmentedControl控件只能显示单行的文本,超过部分会用...代替,如果想启用多行文本,请使用以下代码。我是在MainBoardStroy中添加UISegmentedControl控件的,因此在对应的controller的viewDidLoad方法中添加如下代码:
for(UIView *subview in segmentedControl.subviews) { if([NSStringFromClass(subview.class) isEqualToString:@"UISegment"]) { for(UIView *segmentSubview in subview.subviews) { if([NSStringFromClass(segmentSubview.class) isEqualToString:@"UISegmentLabel"]) { UILabel *label = (id)segmentSubview; label.numberOfLines = 2; label.text = @"Hello\nWorld"; CGRect frame = label.frame; frame.size = label.superview.frame.size; label.frame = frame; } } } }
摘自:https://stackoverflow.com/questions/5614284/uisegmentedcontrol-text-with-multiple-lines