8

セグメントには画像またはタイトルのみを含めることができます。両方を持つことはできません。デフォルトの画像はありません。

つまり、AppleはUISegmentedControllerリファレンスで述べています。

アイコンとテキストの両方を使用できる一般化されたソリューションを思いついた人はいますか?4つのセグメントを持つセグメント化されたコントロールがあります。コントロールの外観をカスタマイズするためのオプションがありますが、それらは2つのセグメントを持つUISegmentedControl用に設計されているように見えますか?

私が蹴っているアイデア:

  1. 4つのUIButtonのセグメント化されたコントロールを破棄し、「選択された」状態を自分で処理します
  2. テキストアイコンを使って手を上げてください。
  3. あなたの提案...?
4

2 に答える 2

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;
于 2012-09-04T22:22:58.763 に答える
5

STSegmentedControlなどのサードパーティの代替手段を試してみることをお勧めします(関連はありませんが、私はそれを使用しました。ゼロから始めることなく、必要な柔軟性が得られるようです)。

于 2012-09-04T22:22:09.150 に答える