iOS 8 GM does not update constraints on collection views

后端 未结 4 1586
小鲜肉
小鲜肉 2021-02-13 09:57

In Xcode 6 Beta 7 and all versions before it, I had a collection view that would update its constraints on its cells when an iPad would rotate between landscape and portrait. No

相关标签:
4条回答
  • 2021-02-13 10:33

    You need to make a subclass of UICollectionViewCell and make that subclass as the superclass of ALL of your cells.

    Example:

    @interface MDTCollectionViewCell : UICollectionViewCell
    @end
    
    @implementation MDTCollectionViewCell
    
    - (void)setBounds:(CGRect)bounds {
        [super setBounds:bounds];
        self.contentView.frame = bounds;
    }
    
    @end
    
    0 讨论(0)
  • 2021-02-13 10:37

    in my UICollectionViewCell class I added

    override func layoutSubviews() {
        contentView.frame = bounds
        super.layoutSubviews()
    }
    

    and I used this code to refresh

    dispatch_async(dispatch_get_main_queue(), { () -> Void in
        // in this case vController is UICollectionView
        self.vController.reloadData()
        self.vController.layoutSubviews()
    })
    
    0 讨论(0)
  • 2021-02-13 10:38

    The workaround I have come up with is to use the 8.0 simulator for testing in the sim, and build the deployable using Xcode Beta 7. When I build using Beta 7, the app runs without this issue on devices using iOS 7. However, this does not help anyone that is deploying to the app store, so I apologize if this workaround does not work for your situation.

    0 讨论(0)
  • 2021-02-13 10:54

    Override the custom cell's layoutSubviews as a temporary fix:

    override func layoutSubviews() {
        contentView.frame = bounds
        super.layoutSubviews()
    }
    
    0 讨论(0)
提交回复
热议问题