小编Kar*_*uil的帖子

SKTexture如何在SpriteKit中缓存和重用?

在StackOverflow上经常提到SpriteKit自己进行内部缓存和重用.

如果我不再努力重用纹理或地图集,我可以从SpriteKit中获得什么样的缓存和重用行为?

sprite-kit sktextureatlas sktexture

9
推荐指数
1
解决办法
1121
查看次数

为什么我的superview-with-subview在以模态方式呈现时会缩小(使用自动布局)?

我有一个视图控制器拥有一个自定义视图; 自定义视图使用Core Graphics绘制游戏板.(不涉及其他子视图.)

我设置了自动布局约束,以便游戏板填充其超级视图.当我将视图控制器设置为根视图控制器时,游戏板(和superview)填充屏幕,这是我的意图.但是,当我以模态方式呈现视图控制器时,游戏板(和superview)缩小到空/最小,并且自动布局跟踪报告布局不明确.

我写了一个简化的测试用例来说明这个问题.

这是我的BoardViewController,它有一个绿色背景的顶级视图,但创建一个带红色背景的单个扩展子视图.当这个视图控制器接管时,我想看到屏幕都是红色的:

- (void)loadView
{
  UIView *mainView = [[UIView alloc] init];
  mainView.translatesAutoresizingMaskIntoConstraints = NO;
  mainView.backgroundColor = [UIColor greenColor];

  UIView *subView = [[UIView alloc] init];
  subView.translatesAutoresizingMaskIntoConstraints = NO;
  subView.backgroundColor = [UIColor redColor];

  [mainView addSubview:subView];
  self.view = mainView;

  NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(subView);
  NSArray *c1 = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[subView(>=10)]|"
                                                        options:0
                                                        metrics:nil
                                                          views:viewsDictionary];
  NSArray *c2 = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[subView(>=10)]|"
                                                        options:0
                                                        metrics:nil
                                                          views:viewsDictionary];
  [self.view addConstraints:c1];
  [self.view addConstraints:c2];
}
Run Code Online (Sandbox Code Playgroud)

如果我将它设置为我的根视图控制器,那么我会看到我漂亮的红色游戏板填满屏幕.然而,当我BoardViewController从另一个角度呈现时,游戏板缩小到最小10x10平方RootViewController:

- (void)loadView
{
  UIView *rootView = [[UIView alloc] …
Run Code Online (Sandbox Code Playgroud)

ios autolayout

7
推荐指数
1
解决办法
2389
查看次数

标签 统计

autolayout ×1

ios ×1

sktexture ×1

sktextureatlas ×1

sprite-kit ×1