iOS开发中遇到的小问题解决方法

问题一

在开发中经常用self.title = @"主页"来设置navigationbar的标题
但会发现同时也设置了tabbaritem的标题。

Snip20151218_1.png

这样就导致了重复了。
原因
若直接用self.title = @"主页";
因为TabBarItem和NavigationBar都继承了view controller的title
所以导致这种UI现象的产生
解决方法
如果想单独设置navigationBar的title,可以这样写

self.navigationItem.title = @"主页";

问题二

表的分段section不能随着表往上滑

Snip20151218_3.png

解决方法

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView == self.tableView)
{
    CGFloat sectionHeaderHeight = 35;
    if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) {
        scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
    } else if (scrollView.contentOffset.y>=sectionHeaderHeight) {
        scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
    }
}
}

问题三

在第一次进入表控制器的时候发现还有20像素的状态栏未能被表深入,滑了一下之后发现又全部覆盖了。。。。。

屏幕快照 2015-12-18 下午2.04.51.png

解决方法
在初始加载表控制器的时候设置表的额外偏移量

 self.tableView.contentInset = UIEdgeInsetsMake(-20, 0, 0, 0);

问题四

如何判断获取到的图片是png还是jpeg?如何简单的判断是否是一个网址?

在NSString中有两个方法

- (BOOL)hasPrefix:(NSString *)aString;//前缀
- (BOOL)hasSuffix:(NSString *)aString;//后缀

这里举个例子:

NSString *str = @"http://baidu.com";
BOOL prefix = [str hasPrefix:@"http"];
BOOL suffix = [str hasSuffix:@"com"];

NSLog(@"prefix-----%i",prefix);
NSLog(@"suffix-----%i",suffix);
//  输出都为1

问题五

关于内存的问题,当创建一个xib时,由于在awakeFromNib方法中注册了通知,如下

-(void)awakeFromNib{
NSLog(@"注册通知-----------------");
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(cropSelectedNotifation:) name:@"du_cropsSelected" object:nil];
}

然后将这个xib加载到了UIViewController中,由于在iOS6以后 viewDidUnload方法只能是在发生内存警告时调用
所以在xib的.m中书写
-(void)dealloc{
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"du_cropsSelected" object:nil];
}
时是当UIViewController被释放的时候才调用xib的dealloc方法 ,在当前UIViewController pushpop到其它控制器再回来时,又回走一次awakeFromNib方法,再次注册通知,因此cropSelectedNotifation :方法会走两次或多次,其调用的次数与xib注册的通知次数是一样的。解决方法就是使注册通知方法就走一次。
更详细解释点击链接http://stackoverflow.com/questions/5594410/viewdidunload-is-not-getting-called-at-all

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,562评论 1 14
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,226评论 30 472
  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 3,510评论 2 4
  • 最近迷上了日本推理小说,用脑图软件做了一张图。 打算把一些代表作都找来看看。
    呼如海阅读 577评论 3 11