默认的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
本文介绍如何在iOS应用中使UISegmentedControl显示多行文本,通过修改内部UILabel的行数设置来实现,适用于需要更丰富文本展示的应用场景。
2万+

被折叠的 条评论
为什么被折叠?



