it-roy-ru.com

Swift добавить действие шоу к кнопке программно

как я могу добавить действие к кнопке программно. Мне нужно добавить действие show для кнопок в mapView. Спасибо

let button = UIButton(type: UIButtonType.Custom) as UIButton
15
g_1_k

Вы можете перейти по приведенному ниже коду
`

let btn: UIButton = UIButton(frame: CGRect(x: 100, y: 400, width: 100, height: 50))
btn.backgroundColor = UIColor.green
btn.setTitle("Click Me", for: .normal)
btn.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
btn.tag = 1
self.view.addSubview(btn) 

для действий 

  func buttonAction(sender: UIButton!) {
        let btnsendtag: UIButton = sender
        if btnsendtag.tag == 1 {

            dismiss(animated: true, completion: nil)
        }
    }
21
Hari c
  let button = UIButton(type: UIButtonType.Custom) as UIButton
  button.addTarget(self, action: "action:", forControlEvents: UIControlEvents.TouchUpInside)

  //then make a action method :

  func action(sender:UIButton!) {
     print("Button Clicked")
  }
15
Muhammad Raheel Mateen

Это работает в Objective-C

Вы можете создать кнопку, как это

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchDragInside];
[button setTitle:@"Test Headline Text" forState:UIControlStateNormal];
button.frame = CGRectMake(20, 100, 100, 40);
[self.view addSubview:button];

Пользовательское действие

 -(void)buttonAction {
       NSLog(@"Press Button");
 }

Это работает в последнем Swift

Не могли бы вы создать кнопку, как это

let button = UIButton()
button.frame = CGRect(x: self.view.frame.size.width - 20, y: 20, width: 100, height: 100)
button.backgroundColor = UIColor.gray
button.setTitle("ButtonNameAreHere", for: .normal)
button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
self.view.addSubview(button)

Пользовательское действие

func buttonAction(sender: UIButton!) {
    print("Button tapped")
}
7
Rex

Вам нужно добавить цель на кнопку, как предлагает Мухаммед

button.addTarget(self, action: "action:", forControlEvents: UIControlEvents.TouchUpInside)

Но также вам нужен метод для этого действия

func action(sender: UIButton) {
    // Do whatever you need when the button is pressed
}
7
Roberto Frontado

Для Swift 4 используйте следующее:

button.addTarget(self, action: #selector(AwesomeController.coolFunc(_:)), for: .touchUpInside)

//later in your AswesomeController
@IBAction func coolFunc(_ sender:UIButton!) {
  // do cool stuff here
}
0
Alex