Dav*_*vid 4 objective-c uibutton parallax tvos
我正在创建一个tvOS应用程序,我想在几个按钮上使用视差图像.来自文档:
要在您的应用中加入视差图像:
- 创建一个UIImage对象.
- 根据图像是否包含在应用程序包中或是否已下载图像,您可以加载不同的图像.
- 使用imageNamed捆绑加载图像:
- 下载的文件 - 使用imageWithContentsOfFile加载图像:
- 使用加载的图像创建一个新的UIImageView对象.
- 如果UIImageView是另一个视图的一部分,请在UIImageView上将adjustsImageWhenAncestorFocused设置为YES.
我知道它UIImageView在那里说,但我希望UIButton在主屏幕应用程序图标上发生相同的效果.
我已经创建了艺术作品,在资产目录中制作了一个堆栈,然后加载了图像imageNamed:,但UIButton它的行为不像是视差图像.它不像主屏幕图标那样摇摆不定.它看起来像一个平面图像.
是否还有其他东西需要启用才能UIButton使其像主屏应用程序图标一样?
UIButton* quitGame = [[UIButton alloc] initWithFrame:rectWithNewX(playAgain.frame, 985)];
[quitGame setImage:[UIImage imageNamed:@"quit.lsr"] forState:UIControlStateNormal];
[quitGame setAdjustsImageWhenHighlighted:YES];
fadeIn(quitGame, self.view, 0.5);
Run Code Online (Sandbox Code Playgroud)
截至目前,仅使用UIButton是不可能的,但是,我确实找到了解决方法.
相反,创建一个UIImageView,它将填充UIButton的大小,并使其成为UIButton的子视图.然后调用adjustsImageWhenAncestorFocused:并将其设置为true.瞧!
UIButton* playAgain = [[UIButton alloc] initWithFrame:CGRectMake(centerX(650, self.view), sh() - 250, 300, 180)];
[playAgain setAdjustsImageWhenHighlighted:YES];
[playAgain addTarget:self action:@selector(playAgain) forControlEvents:UIControlEventPrimaryActionTriggered];
fadeIn(playAgain, self.view, 0.5);
UIImageView* playAgainIGV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 180)];
[playAgainIGV setImage:[UIImage imageNamed:@"playagain.lsr"]];
[playAgainIGV setAdjustsImageWhenAncestorFocused:YES];
[playAgain addSubview:playAgainIGV];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1026 次 |
| 最近记录: |