2016-03-04 1 views
0

У меня есть UIButton, который находится внутри вложенного scrollview (вертикально выгружаемого прокрутки в горизонтальном прокручиваемом прокрутке). Моя проблема заключается в том, когда я нажимаю кнопку, которую она выделяет, но она не вызывает сеге, с которой я связан. Затем я попытался связать его с функцией IBAction, где я поставил точку останова, и когда я нажал кнопку, я не ударил эту точку останова, поэтому моя кнопка также не запускает IBActions.UIButton Внутри вложенных ScrollViews выделяется, но не запускается Segue или IBAction Когда Tapped - Swift

Я попытался отключить задержки для контента для обоих прокрутки, и это не сработало. Все, что было сделано, это сделать кнопку подсветкой, как только я постучал, а не взвешивая немного, прежде чем выделить. В любом случае, моя кнопка выделяется при нажатии на нее, но ни один из моих выходов (segues или IBActions) не запускается, и я думал, что это очень странно. Я нашел других людей в Интернете с похожими проблемами, но их кнопки даже не выделяли. Мое подчеркивает, поэтому я знаю, что он получает вход от пользователя.

Вот как я создаю экземпляр вложенного прокрутки. Основной горизонтальный scrollview создается в моей раскадровки, а затем в методе ViewController viewDidLoad я делаю это, чтобы вставить вертикальное прокрутку. Вертикальное scrollview - это то, что содержит мою кнопку.

let readingVC = storyboard!.instantiateViewControllerWithIdentifier("ReadingViewController") as! ReadingRingViewController 
readingVC.read = reading.minutesRead 
readingVC.goal = reading.minutesGoal 
readingVC.selectedDate = selectedDate 
readingVC.today = today 
let readingView = readingVC.view 
let scrollPage2 = UIScrollView(frame: CGRectMake(readingView.bounds.size.width,0,readingView.bounds.size.width, readingView.bounds.size.height)) 
scrollPage2.addSubview(readingView) 
scrollPage2.contentSize = CGSize(width: readingView.bounds.size.width, height: readingView.bounds.size.height*2) 
scrollPage2.pagingEnabled = true; 
scrollPage2.alwaysBounceVertical = true 
scrollPage2.userInteractionEnabled = true 
let readingBottomView = storyboard!.instantiateViewControllerWithIdentifier("ReadingBottomViewController").view 
let scrollPage2Bottom = UIScrollView(frame: CGRectMake(0,readingView.bounds.size.height,readingBottomView.bounds.size.width, readingBottomView.bounds.size.height*2)) 
scrollPage2Bottom.addSubview(readingBottomView) 
     scrollPage2Bottom.contentSize = CGSize(width: readingBottomView.bounds.size.width, height: readingBottomView.bounds.size.height) 
scrollPage2.addSubview(scrollPage2Bottom) 
scrollPage2.sendSubviewToBack(scrollPage2Bottom) 

Вот код ViewController, что моя кнопка находится. Я связал это с IBAction, а также связал его с другим ViewController как нажимной Segue

ответ

4

Я решил свою собственную вопрос. Причина, по которой действия кнопки не работали, заключалась в том, что я добавлял представление, в котором кнопка находилась в качестве подзапроса, но забывая также добавить контроллер представления для представления кнопки в качестве подчиненного контроллера. Таким образом, я вставил строки следующие строки кода после того, как я инстанцирован readingVC и установить его переменные члены:

self.addChildViewController(readingVC) 
readingVC.didMoveToParentViewController(self) 

Теперь кнопка работает точно так же, как и ожидалось

+0

Он работает как шарм! большое спасибо!!! В Objective-C: [self addChildViewController: viewController]; [viewController сделалMoveToParentViewController: self]; [scrollView addSubview: viewController.view]; –

Смежные вопросы