У меня есть два контроллера представлений, с которыми я сейчас работаю. В моей CathyTaskLogMessageViewController
, у меня есть этот код:Добавить цель для UIButton Not Called
func defaultPictureButtonTapped(sender: UIButton) {
let imageViewerViewController = ImageViewerViewController()
imageViewerViewController.image = self.defaultPictureButton.imageView!.image
imageViewerViewController.cancelButtonImage = UIImage(named: "cancelButtonImage")
imageViewerViewController.centerPictureFromPoint(self.defaultPictureButton.frame.origin, ofSize: self.defaultPictureButton.frame.size, withCornerRadius: self.defaultPictureButton.layer.cornerRadius)
self.view.addSubview(imageViewerViewController.view)
}
И в моем ImageViewerViewController
, у меня есть этот код:
var image: UIImage!
var imageView: UIImageView!
var scrollView: UIScrollView!
var disableSavingImage: Bool!
var pan: UIPanGestureRecognizer!
var cancelButton: UIButton!
var cancelButtonImage: UIImage!
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.0)
setCancelButton()
}
func setCancelButton() {
self.cancelButton = UIButton(type: UIButtonType.RoundedRect)
self.cancelButton.addTarget(self, action: "cancelButtonTapped:", forControlEvents: UIControlEvents.TouchUpInside)
self.cancelButton.setImage(cancelButtonImage, forState: UIControlState.Normal)
self.cancelButton.tintColor = UIColor.whiteColor()
self.cancelButton.frame = CGRectMake(self.view.frame.size.width - (self.cancelButtonImage.size.width * 2) - 18, 18, self.cancelButtonImage.size.width * 2, self.cancelButtonImage.size.height * 2)
self.view.addSubview(self.cancelButton)
}
func cancelButtonTapped(sender: UIButton) {
print("cancelButtonTapped")
}
func centerPictureFromPoint(point: CGPoint, ofSize size: CGSize, withCornerRadius radius: CGFloat) {
UIView.animateWithDuration(0.3, animations: {() -> Void in
self.view.backgroundColor = UIColor(colorLiteralRed: 0.0, green: 0.0, blue: 0.0, alpha: 1.0)
}) { (finished: Bool) -> Void in
}
}
Теперь, когда я нажимаю кнопку отмены, он должен печатать "cancelButtonTapped"
в консоли. Однако консоль не выводит.
Я думаю, что проблема связана с тем, что кнопка находится в другом подзапросе, возможно? Я не совсем уверен. У кого-нибудь есть решение этой проблемы?
Также, когда кнопка отмены загружается, она загружается слева и перемещается вправо. Есть ли способ, которым кнопка просто появляется в правом верхнем углу?
Заранее благодарю вас за помощь.
в состоянии увидеть, если кнопка Вы оживляет взаимодействие с пользователем? – Laffen
Подключена ли ваша кнопка к розетке? –
Да, кнопка оживляет. Нет, кнопка не подключена к розетке. Он просто создан программно. – aejhyun