因此,我正在尝试创建一个UIScrollView仅在故事板中,允许我添加滚动标签超过VC的高度.这是我做的:
创建UIScrollView占用任何宽度任何高度VC的大小
对于顶部,底部,左侧和右侧的最近邻居间距设置约束0
创建的视图是一个subView的UIScrollView与所述相同的宽度的任何宽度的任何高度,但VC 1500高度(因为我只希望它垂直滚动).
将约束设置为最近邻居为0仅适用于左侧,上方和右侧,并将高度约束设置为1500.
我在顶部subView和底部放了一个标签
当我在iPhone 6上运行应用程序时,不会按我希望的方式垂直滚动.任何想法为什么这不起作用?提前致谢.
我的精灵工具包应用程序中有一个问题,我的NSUserDefaults变量不起作用.在createSceneContents(我知道被称为)
if (![defaults objectForKey:@"obj"]) {
difficultyLabel.text = @"Difficulty: Easy";
[defaults setObject:@"Easy" forKey:@"obj"];
} else {
difficultyLabel.text = [NSString stringWithFormat:@"Difficulty: %@", [defaults objectForKey:@"diff"]];
}
Run Code Online (Sandbox Code Playgroud)
然后当你点击SKLabelNode改变难度时,这个代码就被调用了
if ([label.text isEqualToString:@"Difficulty: Easy"]) {
label.text = @"Difficulty: Hard";
[defaults setObject:@"Hard" forKey:@"obj"];
NSLog(@"%@",[defaults objectForKey:@"obj"]);
} else {
label.text = @"Difficulty: Easy";
[defaults setObject:@"Easy" forKey:@"obj"];
NSLog(@"%@",[defaults objectForKey:@"obj"]);
Run Code Online (Sandbox Code Playgroud)
但是当我停止程序并再次运行时,它总是说难度:容易.有什么建议?
在私人界面中
@property BOOL contentCreated
Run Code Online (Sandbox Code Playgroud)
然后在实施中
//just like in Apple's example project
- (void)didMoveToView: (SKView *) view {
if (!self.contentCreated) {
[self createSceneContents];
self.contentCreated = YES;
}
}
- (void)createSceneContents {
self.backgroundColor = [SKColor whiteColor];
self.scaleMode = SKSceneScaleModeAspectFill;
SKLabelNode *newGameNode = [[SKLabelNode alloc] initWithFontNamed:
@"Helvetica"];
newGameNode.name = @"NewGame";
newGameNode.text = @"New Game";
newGameNode.fontSize = 30;
newGameNode.fontColor = [SKColor whiteColor];
newGameNode.position = CGPointMake(100, 100);
[self addChild:newGameNode];
}
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时,屏幕上什么都没有显示出来.我究竟做错了什么?
我有一个sprite-kit游戏,我需要经常检查玩家是否输了
- (void)update:(NSTimeInterval)currentTime
{
for (SKSpriteNode *sprite in self.alienArray ) {
if (sprite.position.y < 10) {
LostScene *lostScene = [[LostScene alloc] initWithSize: CGSizeMake(CGRectGetWidth(self.view.bounds), CGRectGetHeight(self.view.bounds))];
NSLog(@"about to present");
[self.view presentScene:lostScene transition:[SKTransition fadeWithDuration:0.5]];
}
}
Run Code Online (Sandbox Code Playgroud)
}
但是当这个方法被调用时(我知道正在发生),没有场景出现.我究竟做错了什么?我认为它与过渡有关,因为当我把它拿出来时,它运作正常
ios ×4
sprite-kit ×3
autolayout ×1
ios7 ×1
ios8 ×1
iphone ×1
size-classes ×1
uiscrollview ×1
xcode ×1