Xcodeでは、UIButton
の背景を画像としてどのように設定しますか?または、UIButton
に背景グラデーションを設定するにはどうすればよいですか?
完全なコード:
+ (UIButton *)buttonWithTitle:(NSString *)title
target:(id)target
selector:(SEL)selector
frame:(CGRect)frame
image:(UIImage *)image
imagePressed:(UIImage *)imagePressed
darkTextColor:(BOOL)darkTextColor
{
UIButton *button = [[UIButton alloc] initWithFrame:frame];
button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
[button setTitle:title forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
UIImage *newImage = [image stretchableImageWithLeftCapWidth:12.0 topCapHeight:0.0];
[button setBackgroundImage:newImage forState:UIControlStateNormal];
UIImage *newPressedImage = [imagePressed stretchableImageWithLeftCapWidth:12.0 topCapHeight:0.0];
[button setBackgroundImage:newPressedImage forState:UIControlStateHighlighted];
[button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
// in case the parent view draws with a custom color or gradient, use a transparent color
button.backgroundColor = [UIColor clearColor];
return button;
}
UIImage *buttonBackground = UIImage imageNamed:@"whiteButton.png";
UIImage *buttonBackgroundPressed = UIImage imageNamed:@"blueButton.png";
CGRect frame = CGRectMake(0.0, 0.0, kStdButtonWidth, kStdButtonHeight);
UIButton *button = [FinishedStatsView buttonWithTitle:title
target:target
selector:action
frame:frame
image:buttonBackground
imagePressed:buttonBackgroundPressed
darkTextColor:YES];
[self addSubview:button];
画像を設定するには:
UIImage *buttonImage = [UIImage imageNamed:@"Home.png"];
[myButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
[self.view addSubview:myButton];
画像を削除するには:
[button setBackgroundImage:nil forState:UIControlStateNormal];
これは動作します
UIImage *buttonImage = [UIImage imageNamed:@"imageName.png"];
[btn setImage:buttonImage forState:UIControlStateNormal];
[self.view addSubview:btn];
それが誰かを助ける場合setBackgroundImage
は私にとっては機能しませんでしたが、setImage
は機能しました
コードなしで背景画像を設定できます!
Main.storyboardで画像を作成したいボタンを押してから、右側のtilitiesバーでattributes inspectorを押します必要な画像に背景を設定してください!左側のサポートファイルに必要な画像があることを確認してください。
スイフト
ボタンの画像を次のように設定します。
let myImage = UIImage(named: "myImageName")
myButton.setImage(myImage , forState: UIControlState.Normal)
ここで、myImageName
は資産カタログ内の画像の名前です。
tableViewCell
またはcollectionViewCell
に画像を設定するとき、これは私のために働いた:
cellForRowAtIndexPath
またはcellForItemAtIndexPath
に次のコードを配置します
//セルへのポインターを取得します。 Answerは、あなたがこれを行ったことを前提としていますが、ここでは完全を期しています。
CheeseCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cheeseCell" forIndexPath:indexPath];
//ドキュメントライブラリから画像を取得し、セルに設定します。
UIImage *myCheese = [UIImage imageNamed:@"swissCheese.png"];
[cell.cheeseThumbnail setImage:myCheese forState:UIControlStateNormal];
注: xCodeはこれに夢中になったようです。 xCodeとシミュレーターの両方を再起動する必要がありましたが、正常に動作しました。
CheeseThumbnailがIBOutletとして設定されていることを前提としています...そして、テーブル/コレクションビューに十分に精通しており、これに適合することができれば幸いです。
お役に立てれば。
Swift 3.のボタンの背景画像のコード
buttonName.setBackgroundImage(UIImage(named: "facebook.png"), for: .normal)
これが誰かを助けることを願っています。
1行で、このコードで画像を設定できます
[buttonName setBackgroundImage:[UIImage imageNamed:@"imageName"] forState:UIControlStateNormal];