0
サブクラス化は初めてですが、ラベル内のテキストに3ピクセルのアウトラインを付けるために、UILabelサブクラスを使用したかったのです。 this pageから、私はこの方法を使用:iOS - サブクラスの新しいプロパティへのアクセス
- (void)drawTextInRect:(CGRect)rect
{
CGSize shadowOffset = self.shadowOffset;
UIColor *textColor = self.textColor;
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(c, 3);
CGContextSetLineJoin(c, kCGLineJoinRound);
CGContextSetTextDrawingMode(c, kCGTextStroke);
self.textColor = [UIColor whiteColor];
[super drawTextInRect:rect];
CGContextSetTextDrawingMode(c, kCGTextFill);
self.textColor = textColor;
self.shadowOffset = CGSizeMake(0, 0);
[super drawTextInRect:rect]; self.shadowOffset = shadowOffset;
}
これは素晴らしい作品、と私は、テキストとアウトラインの両方のためにたい任意の色を表示する色を変更することができます。
「outlineColor」という名前のプロパティを作成する方法を教えてもらえますか。私はこのサブクラスを任意のラベルに設定し、アウトラインの色を変更できますか?私はどのようにわからない
[myLabel setOutlineColor:[UIColor whiteColor]];
:
基本的に、私は「CustomLabelClass」とし、他のいくつかのクラスの中に、私は何かのように言いたいし、ラベルのクラスを設定できるようにしたいのですがこれについて行く。ありがとう。
ありがとう!私はこれに似たものを試してみたと思っていましたが、他のクラスでは "[myLabel"と入力するたびに "setOutlineColor"のオプションは表示されませんでした。しかし、コードで初期化するのではなく、Interface Builderでクラスを設定しました。それは問題だったかもしれないと思いますか? – achiral
可能です。私はIBを通じてこれを使用しようとはしませんでしたが、オブジェクトのクラスがアイデンティティ・インスペクタのカスタム・クラスに設定されていると仮定すれば、動作するはずです。 – jonkroll