如何仅使用代码将按钮正确添加到场景中?
How do I properly add a button to my scene using only code?
处理其他堆栈溢出问题的答案我设法想出了下面的代码。
(在我的 homescreen.m 文件中)
UIButton *GCButton;
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
//add button
[self addGameCenterButton];
}
return self;
}
-(void)addGameCenterButton
{
GCButton = [[UIButton alloc]initWithFrame:CGRectMake(50, 20, 30, 30)];
[GCButton setBackgroundColor:[UIColor orangeColor]];
[GCButton setTitle: @"My Button" forState:UIControlStateNormal];
[GCButton setTitleColor: [UIColor blueColor] forState:UIControlStateNormal];
[GCButton.layer setBorderWidth:1.0f];
[GCButton.layer setBorderColor:[UIColor blueColor].CGColor];
//adding action programatically
[GCButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:GCButton];
}
-(void)buttonClicked:(UIButton*)sender
{
NSLog(@"you clicked on button %ld", (long)sender.tag);
}
截至目前,我的屏幕上什么也看不到。我需要在我的 .m 或 .h 文件中添加什么才能使按钮正常工作吗?
在此先感谢您的帮助
根据您对问题的评论,我假设您正在使用 SpriteKit
。在GameScene
中,很遗憾,您无法正常使用UIButtons
。
要为您的场景创建按钮,请检查下面 link 中的答案:
Setting up buttons in SKScene
处理其他堆栈溢出问题的答案我设法想出了下面的代码。
(在我的 homescreen.m 文件中)
UIButton *GCButton;
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
//add button
[self addGameCenterButton];
}
return self;
}
-(void)addGameCenterButton
{
GCButton = [[UIButton alloc]initWithFrame:CGRectMake(50, 20, 30, 30)];
[GCButton setBackgroundColor:[UIColor orangeColor]];
[GCButton setTitle: @"My Button" forState:UIControlStateNormal];
[GCButton setTitleColor: [UIColor blueColor] forState:UIControlStateNormal];
[GCButton.layer setBorderWidth:1.0f];
[GCButton.layer setBorderColor:[UIColor blueColor].CGColor];
//adding action programatically
[GCButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:GCButton];
}
-(void)buttonClicked:(UIButton*)sender
{
NSLog(@"you clicked on button %ld", (long)sender.tag);
}
截至目前,我的屏幕上什么也看不到。我需要在我的 .m 或 .h 文件中添加什么才能使按钮正常工作吗?
在此先感谢您的帮助
根据您对问题的评论,我假设您正在使用 SpriteKit
。在GameScene
中,很遗憾,您无法正常使用UIButtons
。
要为您的场景创建按钮,请检查下面 link 中的答案: Setting up buttons in SKScene