私は奇妙な行動に直面しました。コントローラーでセットアップしたカスタム スタイルのボタンを使用しています。
- (void)viewDidLoad
{
[super viewDidLoad];
[self.signOutButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[self.signOutButton setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
CAGradientLayer *btnGradient = [CAGradientLayer layer];
btnGradient.frame = self.signOutButton.bounds;
btnGradient.colors = [NSArray arrayWithObjects:
(id)[[UIColor colorWithRed:102.0f / 255.0f green:102.0f / 255.0f blue:102.0f / 255.0f alpha:1.0f] CGColor],
(id)[[UIColor colorWithRed:51.0f / 255.0f green:51.0f / 255.0f blue:51.0f / 255.0f alpha:1.0f] CGColor],
nil];
[self.signOutButton.layer insertSublayer:btnGradient atIndex:0];
}
iOS 5 では問題なく動作します。ただし、ストーリーボードの Autolayout を有効にして iOS 6 用にこれをビルドすると、スタイルのグラデーションが消える/透明になります (ただし、タイトルは表示されたままになります)。
自動レイアウトを無効にすると、グラデーションが復活します。誰かが自動レイアウトでそのような動作を説明できますか?