2017-11-22 24 views
-1

iOS 11では<で動作するターゲットを持つボタン付きタイトルビューがありますが、iOS 11ではこの機能を呼び出さない。iOS 11ターゲットとスクロールタイトルビューボタンが動作しません

let logo = Bundle.main.loadNibNamed("logo", owner: nil, options: nil)![0] as! UIView 
view.navigationItem.titleView = logo 
view.navigationItem.titleView?.frame.size = CGSize(width: (view.navigationItem.titleView?.frame.width)!, height: (view.navigationController?.navigationBar.frame.height)!) 

let logoVC = view.navigationController?.viewControllers.first as! EntitiesPageControllerController 


let button = logo.subviews.first as! UIButton 

button.addTarget(logoVC, action: #selector(logoVC.goToEntitiesTop), for: .touchUpInside) 



@objc func goToEntitiesTop() { 
self.navigationController?.popToRootViewController(animated: true) 
self.setViewControllers([self.orderedViewControllers.first!], direction: UIPageViewControllerNavigationDirection.reverse, animated: false, completion: nil) 
    let a = self.orderedViewControllers.first as! ListViewController 
    a.listEntities.contentOffset = CGPoint(x: 0, y: 0) 
    self.actualPageNum = 0 
} 

同じ機能を持つ他のオプションはありますか?

+1

「動作しません」と定義します。 – rmaddy

+0

@rmaddy https://stackoverflow.com/a/46325661/5099014の複製のように見えます –

+0

フレームがiOS 11で動作していません。 @AllenHumphreysの答えを試してください。それは魅力のように機能します – Vinodh

答えて

0

goToEntitiesTopに@objcが注釈され、内部(デフォルト)のアクセス権があることを確認してください。

+1

これが役立つかどうかはわかりませんが、追加されたビューでは自動レイアウトの制約が必要になります。 –

関連する問題