ios iphone swift ios4 xcode4.2

ios - Establecer programáticamente imagen y texto en UIButton



iphone swift (4)

Cometiste un error allí, lo estás haciendo

[btn setBackgroundImage:buttonImage forState:UIControlStateNormal];

en lugar de

[btn setImage:buttonImage forState:UIControlStateNormal];

Esto funcionará bien.

Necesito crear un botón programáticamente con una imagen para el estado normal y resaltado, así como el texto. No puedo compilarlo utilizando Interface Builder, porque necesito crear botones sobre UIScrollView . Aquí está el código que tengo hasta ahora:

- (void)loadView { CGRect fullScreenRect=[[UIScreen mainScreen] applicationFrame]; scrollView=[[UIScrollView alloc] initWithFrame:fullScreenRect]; scrollView.contentSize=CGSizeMake(320,960); UIImageView *tempImageView2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.jpeg"]]; UIImage * buttonImage = [UIImage imageNamed:@"contentlist_active.png"]; self.view=scrollView; [scrollView addSubview:tempImageView2]; btn = [UIButton buttonWithType:UIButtonTypeCustom]; btn.frame = CGRectMake(22, 100, 277, 32); [btn setImage:buttonImage forState:UIControlStateNormal]; [btn setTitle:@"hello world" forState:UIControlStateNormal]; [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [scrollView addSubview:btn]; }

Pero el texto en el botón no se muestra. Si comento el setImage para el button , el texto se muestra perfectamente, de lo contrario no. ¿Puedo tener texto y una imagen al mismo tiempo?


Has probado

[btn setBackgroundImage:buttonImage forState:UIControlStateHighlighted];

Podría resolver su problema.


UIButtons setImage establece la imagen sobre el título para que no pueda ver el texto debajo de ella. Intente establecer la imagen en su botón con setBackgroundImage.

C objetivo:

[btn setBackgroundImage:buttonImage forState:UIControlStateNormal];

Rápido:

myButton.setBackgroundImage(buttonImage, forState: .normal)


var menuButton:UIButton? override func viewWillAppear(animated: Bool) { menuButton = UIButton(frame: CGRectMake(0,0,30,30)) menuButton?.setBackgroundImage(UIImage(named: "menu.png"), forState: UIControlState.Normal) }