一个片段只能有图像或标题;它不能兼得。没有默认图像。
Apple在UISegmentedController Reference中说道。
有没有人想出一个可以同时拥有图标和文字的通用解决方案?我有一个分段控件,有四个段。有自定义控件外观的选项,但它们似乎只为具有两个段的UISegmentedControl设计?
我正在努力的想法:
答案 0 :(得分:10)
您可以通过将当前图像绘制到上下文中来创建新图像,绘制所需文本,然后将该组合图像用作单段图像:
UIGraphicsBeginImageContextWithOptions(size, YES, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
// Text first
[myString drawAtPoint:somePoint withFont:font];
// Images upside down so flip them
CGAffineTransform flipVertical = CGAffineTransformMake(1, 0, 0, -1, 0, size.height);
CGContextConcatCTM(context, flipVertical);
CGContextDrawImage(context, (CGRect){ imagePoint, imageSize }, [myUIimage CGImage]);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
答案 1 :(得分:5)
您可能想尝试第三方替代方案,例如STSegmentedControl(没有关系,但我已经使用过它,听起来它会为您提供所需的灵活性而无需从头开始)。< / p>