正如标题所述。我有两个 Storyboard,一个用于 iPhone,一个用于 iPad。iPhone 可以,iPad 不行。我可以访问按钮,例如我可以为 iPad 和 iOS 执行 setTitle,但是当我执行 insertSublayer 时,这只适用于 iPhone。
任何建议可能是什么原因?
多谢你们!
编辑:
UIColor *color1 = [UIColor colorWithRed:(228/255.0) green:(91/255.0) blue:(0/255.0) alpha:(1.0)];
UIColor *color2 = [UIColor colorWithRed:(152/255.0) green:(61/255.0) blue:(0/255.0) alpha:(1.0)];
NSNumber *stopOne = [NSNumber numberWithFloat:0.0];
NSNumber *stopTwo = [NSNumber numberWithFloat:1.0];
NSArray *locations = [NSArray arrayWithObjects:stopOne, stopTwo, nil];
CAGradientLayer *buttonALayer = [CAGradientLayer layer];
buttonALayer.frame = startGame.layer.bounds;
float iOSversion = [[UIDevice currentDevice].systemVersion floatValue];
int layerIndex = 1;
if (iOSversion < 5.9)
{
layerIndex = 0;
}
float cornerRadius = 0.0f;
buttonALayer.colors = colorsA;
buttonALayer.locations = locations;
buttonALayer.cornerRadius = cornerRadius;
[startGame.layer insertSublayer:buttonALayer atIndex:layerIndex];
<- 此代码适用于 iPhone,但不适用于 iPad。以下代码适用于两种设备(模拟器!):
[startGame setTitle:@"Bullwaste" forState: UIControlStateNormal];
<- 因为它也适用于 iPad,对我来说,奥特莱斯和参考资料似乎不是原因?
编辑2:
我尝试执行以下操作:
startGame.alpha = 0.3;
NSString *justAString = [NSString stringWithFormat: @"%f", startGame.bounds.size.width];
[startGame setTitle:justAString forState: UIControlStateNormal];
iPhone Sim 中的反应:按钮变为透明,标题为 280.0000 iPad Sim 中的反应:按钮变为透明,标题为 0.00000
我只是不明白这个?startGame.alpha 确实有效 startGame.bounds.size.width 仅适用于 iPhone!?!?