美文网首页
适配iOS11修改图片选择控件ZLPhotoLib

适配iOS11修改图片选择控件ZLPhotoLib

作者: 小苗晓雪 | 来源:发表于2017-10-09 12:24 被阅读412次

如图所示:点击相册之后会发现最顶部的图片位置跑到了上边儿 , 这肯定是iOS11适配的问题,关键 ZLPhotoLib这么大的库你不容易找到...现在我就把我修改该位置源码得方法给大家!

效果图 Gif.gif

ZLPhotoPickerAssetsViewController.m

- (ZLPhotoPickerCollectionView *)collectionView这个方法里 , 也就是collectionView的getter方法里!
原来的写法是: NSString *heightVfl = @"V:|-0-[collectionView]-0-|";
修改为下面的写法即可!

/**
         *  2017年10月9日 , 修改此处问题 , iOS11下点击相册会有CollectionView顶部显示cell不全的问题:
         源码中用的是VFL约束的! , 此处按照iOS11格式修改 , 非iOS11不修改的宏定义模式!
         请注意该位置是 "相机胶卷"页面的约束格式!!!
         */
        NSString *heightVfl;
        if (@available(iOS 11.0 , *))
        {
            heightVfl = @"V:|-60-[collectionView]-0-|";
        }
        else
        {
            heightVfl = @"V:|-0-[collectionView]-0-|";
        }

同理:

ZLPhotoPickerGroupViewController.m

在选择相册页面的 - (UITableView *)tableView 方法里也就是tableView的getter方法里
原来的写法是: NSString *heightVfl = @"V:|-0-[tableView]-0-|";
修改为下面的写法即可!

/**
         *  2017年10月9日 , 修改此处问题 , iOS11下点击相册会有CollectionView顶部显示cell不全的问题:
         源码中用的是VFL约束的! , 此处按照iOS11格式修改 , 非iOS11不修改的宏定义模式!
         请注意该位置是 "选择相册"页面的约束格式!!!
         
         */
        NSString *heightVfl;
        if (@available(iOS 11.0 , *))
        {
            heightVfl = @"V:|-64-[tableView]-0-|";
        }
        else
        {
            heightVfl = @"V:|-0-[tableView]-0-|";
        }
// 2018年12月12日修改之前遇到的问题...应该这么改就对了~
总结一句话就是
if (@available(iOS 11, *))
        {
            UIScrollView.appearance.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentAutomatic;
        }
        else
        {
            self.automaticallyAdjustsScrollViewInsets = NO;
        }


最后的效果是这样的:

最终效果图 Gif.gif

愿编程让这个世界更美好

相关文章

网友评论

      本文标题:适配iOS11修改图片选择控件ZLPhotoLib

      本文链接:https://www.haomeiwen.com/subject/gunuyxtx.html