温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

iOS7 弹出UIActionSheet,UIImagePickerViewController的navigationbar代理,搜索未用到的图片

发布时间:2020-10-24 20:13:01 来源:网络 阅读:663 作者:zmhot88 栏目:移动开发

    忙了一天,整理一下。

    先说内存释放的问题,由于还是使用非ARC的方式,所以还需要自己解决内存释放的问题,自定义UINavigationItem,还使用了一个类变量,这个类变量实在是不应该使用的。而且我自己手贱,还给释放了一下,所以出错了。谨记类变量只在dealloc中释放。

    关于属性和实例变量,未定义属性的实例变量,创建的时候要记得拥有创建的对象,如果使用autorelease释放会出问题,注意NSArray,NSDictionary这类有简写的类别,如@[], @[key:value.....],这种情况要retain一下。

     iOS7中,已modal的方式弹出viewcontroller之后,网络请求之后根据结果撤销modalview,在弹出一个UIActionSheet在self.view之上,报错。网络请求的返回结果虽然已经回到了主线程,但是这时候,modal的viewcontroller是没有完成dismiss的,所以做一个简单的delay就可以规避这个问题。

     UIImagePickerViewController,从图片库中选择图片,这个是有navigationbar的delegate,实现方法:

p_w_picpathPickerController.navigationController.delegate = self;
-(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated

这里面去替换navigationbar的属性,还不如直接用系统原生,或者直接自定义。

       最后,搜索整个工程中用不到的图片文件,打印出来,shell如下:

files=`find . \( -name "*.png" -or -name "*.jpg" \)`;
for file in $files
{
    filename=${file##*/};
    nosuffilename=${filename/@2x/};
    result=`find . \( -name "*.xib" -or -name "*.m" -or -name "*.h" -or -name "*.plist" \) | xargs grep -E "$filename|$nosuffilename"`;
    if [ -z "$result" ];then
        echo $file;
        fi
}

拷贝到工程目录下执行就好了。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI