titleView错乱

本文解决了一个在iOS开发中常见的问题:当从一个控制器跳转到另一个控制器再返回时,navigationItem中的titleView会出现错乱。解决方法是在自定义的titleView中设置内置大小intrinsicContentSize,并给出具体的实现属性。

navigationItem中的titleView,在跳转控制器后返回时出现错乱。

解决方法:

     在自定义的titleView中设置内置大小 intrinsicContentSize

    @property(nonatomic, assign) CGSize intrinsicContentSize;

    并设置对应的值。

 

override func tpbSetupSubviews() { super.tpbSetupSubviews() setupNav() setupCollectionView() view.addSubviews([ titleContainerView, searchContainerView, tabScrollView ]) titleContainerView.addSubview(titleLabel) updateTabSelection(index: selectedTabIndex) layoutTabButtonsInScrollView() } override func tpbMakeConstraint() { super.tpbMakeConstraint() titleContainerView.snp.makeConstraints { make in make.top.equalTo(view.safeAreaLayoutGuide).offset(8) make.leading.trailing.equalToSuperview().inset(16) make.height.equalTo(40) } titleLabel.snp.makeConstraints { make in make.center.equalToSuperview() make.leading.greaterThanOrEqualToSuperview().offset(20) make.trailing.lessThanOrEqualToSuperview().offset(-20) } searchContainerView.snp.makeConstraints { make in make.top.equalTo(titleContainerView.snp.bottom).offset(16) make.leading.trailing.equalToSuperview().inset(16) make.height.equalTo(44) } searchBar.snp.makeConstraints { make in make.edges.equalTo(searchContainerView).inset(UIEdgeInsets(top: 0, left: 16, bottom: 0, right: 16)) } tabScrollView.snp.makeConstraints { make in make.top.equalTo(searchContainerView.snp.bottom).offset(16) make.leading.trailing.equalToSuperview().inset(0) make.height.equalTo(40) } } 将titleContainerView设置成红色后发现,设备列表一条把scrollview遮挡很大一部分,我再次说一下我的结构要求,从上到下依次为 titleview、然后是搜索searchbar、然后是收藏和所有设备等的scrollview、然后是可以滚动的UICollectionview,请重新检查生成
最新发布
12-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值