Подтвердить что ты не робот

Настроить фоновое изображение кнопки iPhone программно

В Xcode, как вы устанавливаете фон кнопки в качестве изображения? Или, как вы можете установить фоновый градиент в кнопке?

4b9b3361

Ответ 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) Надеюсь, это поможет кому-то.