2016-04-05 19 views
0

Muhtemelen garip bir istek gibi geliyor, ancak bir tablo denetleyicisinin ortasında görüntülenen bir gezinme denetleyicisini (bir nav çubuklu ve denetleyicileri yığından itip açabilen) görüntülemenin bir yolunu bulmaya çalışıyorum ve tablo görünümünde kaydırır. Bu işlevselliği nasıl sağlayabilirim?Tablo görünümünde gezinme denetleyicisi nasıl görüntülenir?

cevap

2

Sorunuzu okurken bir şey yapmayla ilgili bir demo oluşturmakla ilgilendim. Gezinme denetleyicisi içeren bir kapsayıcı kullanmayı denedim ancak maalesef normal UITableView için tekrarlanan içerikte kap kullanamadığınız için çalışmadı. Yani statik hücrelerini kullanmak UITableViewController kullanılan ve bir navigasyon denetleyicisi gömmek için idare ettik: Storyboard

Yöntem 2. örtmek UITableView kullanmak istiyorum:

http://recordit.co/EsvsyWhcLX

film şeridi gibi görünür prototip hücrelerle:

http://recordit.co/d3yhbuJ4Ww

yapabilirsiniz aşağıdakileri yapın

Using UITableView

ve CustomTableViewCell.swift sınıfında: hücrelerimize özel hücreyi oluşturmak ardından gezinme denetleyicisi örneğini ve bir subview olarak görünüm eklemek

class CustomTableViewCell: UITableViewCell { 

var navIsAdded = false // boolean used to make sure that nav view controller is added and will not be added again 
var currentNavigationController : UINavigationController! // retain the controller so that push/pop works, if you didn't retain it like this, the view will be added but no push or pop will work 


func setupNavVC(){ 
    if navIsAdded{ 
     return 
    } 
    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    self.currentNavigationController = storyboard.instantiateViewControllerWithIdentifier("navVC") as! UINavigationController 

    let view = self.currentNavigationController.view 
    var frame = view.frame 
    frame.size = self.frame.size 
    view.frame = frame 
    self.contentView.addSubview(view) 
    navIsAdded = true 
} 

override func layoutSubviews() { 
    setupNavVC() 
} 

override func setSelected(selected: Bool, animated: Bool) { 
    super.setSelected(selected, animated: animated) 

    // Configure the view for the selected state 
} 

} 
+0

Hey Hossam i cevabınızda verdiğiniz gif bağlantısını açmayı denedim, ancak açamıyorum, erişimin – Abdul91

+0

için özür dilemediğini bildirdi, güncelledim –

İlgili konular