我想在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控制器中,我有这个代码:
-(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;
}
我应该在哪里添加用于添加边框的代码以及该代码应该是什么?
答案 0 :(得分:3)
您的HintMenu
是一种视图,因此您可以使用initWithFrame
方法执行此操作:
self.layer.borderWidth = 10;
self.layer.borderColor = [UIColor redColor].CGColor;
答案 1 :(得分: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;
}