it-swarm.com.de

Legen Sie programmgesteuert ein Tastenhintergrundbild-iPhone fest

Wie legen Sie in Xcode den Hintergrund eines UIButton als Bild fest? Oder wie kann in UIButton ein Hintergrundverlauf eingestellt werden?

26
Linda

Vollständiger Code: 

+ (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]; 

So legen Sie ein Bild fest:

UIImage *buttonImage = [UIImage imageNamed:@"Home.png"];
[myButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
[self.view addSubview:myButton];

So entfernen Sie ein Bild:

[button setBackgroundImage:nil forState:UIControlStateNormal];
66

Das wird funktionieren

UIImage *buttonImage = [UIImage imageNamed:@"imageName.png"];
[btn setImage:buttonImage forState:UIControlStateNormal];
[self.view addSubview:btn];
17

Falls es jemandem hilft, setBackgroundImage hat für mich nicht funktioniert, aber setImage hat es getan

5
RanLearns

Sie können ein Hintergrundbild ohne Code einstellen! 

Drücken Sie einfach die Schaltfläche, für die ein Bild in Main.storyboard angezeigt werden soll. Drücken Sie dann in der Leiste utilities rechts auf den attributes-Inspektor und legen Sie den Hintergrund auf das gewünschte Bild fest! Stellen Sie sicher, dass Sie das gewünschte Bild in den Unterstützungsdateien auf der linken Seite haben.

3
JELLYFUN

Swift

Stellen Sie das Schaltflächenbild folgendermaßen ein:

let myImage = UIImage(named: "myImageName")
myButton.setImage(myImage , forState: UIControlState.Normal)

dabei ist myImageName der Name Ihres Bildes in Ihrem Objektkatalog. 

2
Suragch

Beim Einstellen eines Bildes in einer tableViewCell oder collectionViewCell hat dies für mich funktioniert:

Fügen Sie den folgenden Code in Ihre cellForRowAtIndexPath oder cellForItemAtIndexPath ein.

// Zeiger auf Zelle beziehen. Antwort geht davon aus, dass Sie dies getan haben, hier aber der Vollständigkeit halber.

CheeseCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cheeseCell" forIndexPath:indexPath];

// Holen Sie das Bild aus der Dokumentbibliothek und setzen Sie es auf die Zelle.

UIImage *myCheese = [UIImage imageNamed:@"swissCheese.png"];
[cell.cheeseThumbnail setImage:myCheese forState:UIControlStateNormal];

HINWEIS: xCode schien für mich aufgehängt zu sein. Ich musste sowohl xCode als auch den Simulator neu starten, es funktionierte einwandfrei.

Dies setzt voraus, dass Sie cheeseThumbnail als IBOutlet eingerichtet haben ... und ein paar andere Dinge ... hoffentlich kennen Sie sich mit Tabellen-/Kollektionsansichten aus und können dies anpassen.

Hoffe das hilft.

2
kmiklas

Code für das Hintergrundbild eines Buttons in Swift 3.

buttonName.setBackgroundImage(UIImage(named: "facebook.png"), for: .normal)

Hoffe das wird jemandem helfen.

0
Dilip Tiwari

In einer Zeile können wir mit diesem Code ein Bild setzen

[buttonName setBackgroundImage:[UIImage imageNamed:@"imageName"] forState:UIControlStateNormal];