質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

0回答

1407閲覧

segmentedControlのボタンに文字とImage両方を配置したい

deltaZone

総合スコア12

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

1クリップ

投稿2016/12/10 09:59

編集2016/12/11 01:06

タイトル通りなのですが
文字とImageを組み合わせてそれをまるっとUIImageで返すメソッドを
作って、それをsectionImagesに入れたところ
ボタン下部にグレーの横線が入ってしまいます。

ObjC

1#import "UIImage+UISegmentIconAndText.h" 2 3@implementation UIImage (UISegmentIconAndText) 4+ (id) imageFromImage:(UIImage*)image string:(NSString*)string color:(UIColor*)color 5{ 6 UIFont *font = [UIFont systemFontOfSize:16.0]; 7 CGSize expectedTextSize = [string sizeWithAttributes:@{NSFontAttributeName: font}]; 8 int width = expectedTextSize.width + image.size.width + 5; 9 int height = MAX(expectedTextSize.height, image.size.width); 10 CGSize size = CGSizeMake((float)width, (float)height); 11 UIGraphicsBeginImageContextWithOptions(size, NO, 0); 12 CGContextRef context = UIGraphicsGetCurrentContext(); 13 CGContextSetFillColorWithColor(context, color.CGColor); 14 int fontTopPosition = (height - expectedTextSize.height) / 2; 15 CGPoint textPoint = CGPointMake(image.size.width + 5, fontTopPosition); 16 17 [string drawAtPoint:textPoint withAttributes:@{NSFontAttributeName: font}]; 18 // Images upside down so flip them 19 CGAffineTransform flipVertical = CGAffineTransformMake(1, 0, 0, -1, 0, size.height); 20 CGContextConcatCTM(context, flipVertical); 21 CGContextDrawImage(context, (CGRect){ {0, (height - image.size.height) / 2}, {image.size.width, image.size.height} }, [image CGImage]); 22 UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 23 UIGraphicsEndImageContext(); 24 return newImage; 25} 26@end 27

segmentedControlのsectionimageに設定できる
大きさに制約等はありますか?
(追記:サンプルコードはObjCになっていますが,
swiftでの実装が望ましいです。)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2016/12/10 18:39 編集

tagをObjective-Cに変更して下さい。あと、iOSも追加した方が良いと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問