Xcode8とiOS10に移行しました。アプリケーションのiOS10をサポートしました。iOS10 +グラデーション停止動作
奇妙な問題を突きつけて、突然グラデーションが働いていません。
ストーリーボード(Xcode8でのストーリーボードの変更)を適用した後、ビューに表示されない勾配の変更が見つかりました。
のXcode 7.3 - グラデーションビュー -
Xcodeの8 - グラデーションビュー - 私は古いストーリーボードにストーリーボードを交換した場合
はまた、それは勾配を示し、そうあり新しいストーリーボードで何か間違っています。
[view setOpaque:NO];
view.layer.cornerRadius = 45;
view.backgroundColor = [UIColor colorWithRed:23.0/255.0 green:29.0/255.0 blue:36.0/255.0 alpha:1.0];
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = view.bounds;
UIColor *color1 = [UIColor colorWithRed:33.0/255.0 green:39.0/255.0 blue:46.0/255.0 alpha:1.0];
UIColor *color2 = [UIColor colorWithRed:23.0/255.0 green:29.0/255.0 blue:36.0/255.0 alpha:1.0];
UIColor *color3 = [UIColor colorWithRed:14.0/255.0 green:20.0/255.0 blue:26.0/255.0 alpha:1.0];
NSArray *colorsArray = @[(id)color1.CGColor, (id)color2.CGColor, (id)color3.CGColor];
gradient.colors = colorsArray;
[gradient setLocations:@[@0.0, @0.35]];
[view.layer insertSublayer:gradient atIndex:0];
は、いずれかがそれを考え出した場合、私に教えてください:
何のコードの変更はありません。
編集:私は新しいストーリーボードを作成していなかった
問題はタイミングに変更があったということですXcode8
"また、私がストーリーボードを古いストーリーボードに置き換えた場合、それはグラデーションを表示します。"そして、ストーリーボードにはいくつかの重要な違いがあります。それを比較して見つけてください。または、古いストーリーボードを使用します。 (なぜあなたは新しいものを作ったのですか?) – matt
あなたのコードはOKです。デバッガで実行し、ビューが 'nil'でないことを確認し、実際にグラデーションを適用します。ストーリーボードの背景をマゼンタなどの異なるものに設定します。 – paiv
@matt - アプリケーションがXcode 7.xで作成され、Xcode8にそれを開くと、古いStoryboardで変更が行われます.Xcode 7.xで開く方法はありますか?しかし、それは私がストーリーボードをそのように開くことを許さないでしょう、それは常に新しいものにそれを変えます。新しいストーリーボードは作成されていません – Kampai