iOS导航控制器快速生根

时间:2016-09-28 03:01:43

标签: ios swift navigationcontroller

我目前正在从头开始创建iOS应用,而不使用故事板。一切都工作得很好,除了一件我无法推动视图控制器从rootViewController内的单元格,流程在下面,请不要使用故事板,这个项目是我想要的,没有故事板:)

1,在AppDelegate.swift中创建根视图控制器

let layout = UICollectionViewFlowLayout()
let homeViewController = HomeViewController(collectionViewLayout: layout)
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
window?.rootViewController = UINavigationController(rootViewController: homeViewController)
return true

2,在集合视图控制器文件中创建四个单元格

collectionView?.register(HomeController.self, forCellWithReuseIdentifier: sections[0])
collectionView?.register(PortfolioController.self, forCellWithReuseIdentifier: sections[1])
collectionView?.register(ConversationController.self, forCellWithReuseIdentifier: sections[2])
collectionView?.register(ProfileController.self, forCellWithReuseIdentifier: sections[3])

3,我有另一个集合视图,其中包含来自我的api模型文件的动态数量的单元格,上面的那些名称是带控制器的,但它们是集合视图单元格,我以某种方式命名为控制器

class ConversationController: BaseCell, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, UICollectionViewDelegate {

lazy var collectionview: UICollectionView = {
    let layout = UICollectionViewFlowLayout()
    let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
    cv.dataSource = self
    cv.delegate = self
    cv.backgroundColor = UIColor.white
    return cv
}()

4,为这个Conversation.swift注册另一个单元格,到目前为止一切都按照我想要的方式工作

override func setUpViews() {
    super.setUpViews()
    fetchMessage()
    addSubview(collectionview)
    addConstraintsWithFormat(format: "H:|[v0]|", views: collectionview)
    addConstraintsWithFormat(format: "V:|[v0]|", views: collectionview)
    collectionview.register(ConversationView.self, forCellWithReuseIdentifier: cellId)
}

我想要达到的目标是每次用户点击ConversationCell ConversationController pushViewController我想使用UINavigationController UICollectionViewController方法推送视图控制器。我知道这个班级没有UIViewControllerHomeViewController的超级班级,所以我尝试的是因为UICollectionViewController(在第1部分)是HomeViewController,我在ConversationController中创建了HomeViewController的引用,并在@NodeEntity public class User extends AbstractAuditingEntity { @Size(min = 10, max = 10) @Pattern(regexp = "\\d{10}") @Property(name="phone") private String phoneNo; @Property(name="fname") @JsonIgnore private String firstName; @Property(name="lname") @JsonIgnore private String lastName; @Property(name="activated") private boolean activated = false; @Size(min = 2, max = 5) @Property(name="lang") private String langKey; @Size(max = 20) @JsonIgnore @Property(name="activationKey") private String activationKey; @JsonIgnore @Property(name="roles") @Relationship(type="HAS_ROLES", direction=Relationship.OUTGOING) private Set<Authority> authorities = new HashSet<>(); //Friends @Property(name="friends") @Relationship(type="FRIENDS", direction = Relationship.UNDIRECTED) private Set<User> friends = new HashSet<>(); } 中创建了推送viewController的方法。我设置了断点并且它正在运行,但视图没有被推动。我有点困惑,发生了什么事。任何帮助或建议都会非常有用!谢谢:))

0 个答案:

没有答案