В Xcode, как вы устанавливаете фон кнопки в качестве изображения? Или, как вы можете установить фоновый градиент в кнопке?
Настроить фоновое изображение кнопки iPhone программно
Ответ 1
Полный код:
+ (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]
Ответ 2
Это будет работать
UIImage *buttonImage = [UIImage imageNamed:@"imageName.png"];
[btn setImage:buttonImage forState:UIControlStateNormal];
[self.view addSubview:btn];
Ответ 3
Если это помогает любому setBackgroundImage
не работать для меня, но setImage
сделал
Ответ 4
Вы можете установить фоновое изображение без кода!
Просто нажмите кнопку, в которой требуется изображение, в Main.storyboard, затем в строке утилиты вправо нажмите указатель атрибутов и установите фон для изображения, которое вы хотите! Убедитесь, что у вас есть изображение, которое вы хотите в поддерживающих файлах слева.
Ответ 5
При настройке изображения в ячейке таблицы или коллекции, это сработало для меня:
Поместите следующий код в свой "cellForRowAtIndexPath" или "cellForItemAtIndexPath"
//Получить указатель на ячейку. Ответ предполагает, что вы сделали это, но здесь для полноты.
CheeseCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cheeseCell" forIndexPath:indexPath];
//Возьмите изображение из библиотеки документов и установите его в ячейку.
UIImage *myCheese = [UIImage imageNamed:@"swissCheese.png"];
[cell.cheeseThumbnail setImage:myCheese forState:UIControlStateNormal];
* ПРИМЕЧАНИЕ: xCode, похоже, завис на этом для меня. Мне пришлось перезапустить xCode и Simulator, он работал правильно.
Это предполагает, что у вас есть пакет сыворотки, настроенный как IBOutlet... и некоторые другие вещи... надеюсь, вы достаточно хорошо знакомы с представлениями таблицы/коллекции и можете вписаться в это.
Надеюсь, что это поможет.
Ответ 6
Swift
Установите изображение кнопки следующим образом:
let myImage = UIImage(named: "myImageName")
myButton.setImage(myImage , forState: UIControlState.Normal)
где myImageName
- это имя вашего изображения в вашем каталоге активов.
Ответ 7
В одной строке мы можем установить изображение с помощью этого кода
[buttonName setBackgroundImage:[UIImage imageNamed:@"imageName"] forState:UIControlStateNormal];
Ответ 8
Код для фонового изображения кнопки в Swift 3.0
-
buttonName.setBackgroundImage(UIImage(named: "facebook.png"), for: .normal)
Надеюсь, это поможет кому-то.