首页 > 代码库 > IOS7下UIBarButtonItem偏移的解决办法

IOS7下UIBarButtonItem偏移的解决办法

IOS7下的UIBarButtonItem偏移了10pt,相信这是大家都不想要的效果,解决的方法就是增加一个UIBarButtonSystemItemFixedSpace item,但是在7.1开始,只添加一个fixedSpaceItem运行会挂掉,肿么办,兼容的解决方法就是再在前面增加一个空的item,代码如下:


UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:button];    //要添加到navgationBar上的item


    if ([UIDevice iOS7]){

        UIBarButtonItem *plain = [[UIBarButtonItem alloc] initWithTitle:nil style:UIBarButtonItemStylePlain target:nil action:NULL];    //解决7.1会挂掉的问题

        UIBarButtonItem *fix = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:NULL];

        fix.width = -10;    //纠正10pt的偏移

        self.navigationItem.rightBarButtonItems = @[plain,item,fix];    //就是这样,完美!

    } else {

        self.navigationItem.rightBarButtonItem = item;

    }


本文出自 “idanal” 博客,请务必保留此出处http://danal.blog.51cto.com/3353275/1565509

IOS7下UIBarButtonItem偏移的解决办法