私はiOS開発を初めて利用しており、UIStackView
で作業しています。
UIStackView
の子オブジェクトとしてUILabels
を2つ作成するときは、それぞれUILabel
のグラデーションバックラウンドカラーを作成する次のコードが正常に動作します。UIStackViewのUILabelsの背景をグラデーションカラーに変更する
UILabel *label;
for (int ii = 1; ii < 3; ii++) {
label = [self.view viewWithTag:ii];
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = label.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor yellowColor]CGColor], (id)[[UIColor grayColor]CGColor], nil];
[label.layer insertSublayer:gradient atIndex:0];
UILabel *newLabel = [[UILabel alloc] initWithFrame:label.bounds];
newLabel.backgroundColor = [UIColor clearColor];
newLabel.text = label.text;
[label addSubview:newLabel];
}
しかし、私は、コード怒鳴るを使用してプログラム的に2 UILabels
を作成し、各UILabel
のグラデーション背景が動作しないとbackroundの色は白のまま作るための上記 私のコード。
誰か助けてもらえますか?
UILabel *myLabel;
myLabel = [[UILabel alloc] init];
[myLabel setText:@"text1"];
[myLabel setTag:1];
[stackView addArrangedSubview:myLabel];
myLabel = [[UILabel alloc] init];
[myLabel setText:@"text2"];
[myLabel setTag:2];
[stackView addArrangedSubview:myLabel];
上記のコードを使って 'UIStackView'のラベルを見ることができますか? –
はい、しかし、グラデーションの背景なしでラベルを見ることができます。 – Jeavy