2

CGRect に境界線を追加したい。以前のソリューションは次のいずれかを示唆していますが:

CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0);
    CGContextSetRGBStrokeColor(context, 1.0, 0.0, 0.0, 1.0);
    CGContextFillRect(context, rectangle);

またはこのようなもの:

view.layer.borderWidth = 10;
view.layer.borderColor = [UIColor redColor].CGColor;

私のアプローチでは、これのどちらも適用できません。

私の mainView Controller には、次のコードがあります。

-(void)actionHint
{
    CGRect  viewRect = CGRectMake(kScreenWidth/2 -kMenuWidth, kScreenHeight/2-kMenuHeight - 70,kMenuWidth*10, kMenuHeight*4);
    HintMenu* hintMenu = [HintMenu viewWithRect:viewRect];
    [hintMenu.btnReveal addTarget:self action:@selector(actionReveal) forControlEvents:UIControlEventTouchUpInside];
    [hintMenu.btnNewAnag addTarget:self action:@selector(actionNewAnagram) forControlEvents:UIControlEventTouchUpInside];
    [self.gameView addSubview:hintMenu];
}

ゲームを作成していますが、いくつかのヘルプ アクションを含む単純な四角形を現在のビューの上に表示したいと考えています。viewRect のコードは次のとおりです。

+(instancetype)viewWithRect:(CGRect)r
{
    HintMenu* hint = [[HintMenu alloc] initWithFrame:r];
    hint.userInteractionEnabled = YES;

    UIImage* image=[UIImage imageNamed:@"btn"];
    ... rest of items in the cgrect
    return hint;
}

境界線を追加するためのコードはどこに追加すればよいですか? また、そのコードは何を追加すればよいですか?

4

2 に答える 2

3

あなたHintMenuはビューのタイプであるため、そのinitWithFrameメソッドで次のことができます。

self.layer.borderWidth = 10;
self.layer.borderColor = [UIColor redColor].CGColor;
于 2013-07-02T23:32:18.947 に答える
0

このコードを使用して、境界のある四角形を作成できます。QuartzCore フレームワークをインポートするだけです。このコードを自由にコピーして貼り付けてください。

#import <QuartzCore/QuartzCore.h>

-(void)viewDidLoad{
    //give it a blue background
    self.layer.backgroundColor=[UIColor blueColor].CGColor;
    //set the boarder width
    self.layer.borderWidth=5;
    //set the boarder color
    self.layer.borderColor=[UIColor redColor].CGColor;    
}
于 2013-07-02T23:38:42.990 に答える