问题一:我添加导航栏后试图被遮盖了
关于添加Navigation导航栏后视图被遮盖的处理方法:
自己用的是在xib用autolayout布局的,辛辛苦苦搞了半天,却忘记考虑 导航栏和状态栏的高度了。
但是我记得添加 导航控制器后,view的顶部布局是自动添加导航栏的高度的。于是在网上搜了一下,事实上正是如此,问题轻松解决。
解决方法:
在被遮盖的view的控制器中加入代码
更好的方法是在你自定义的Navigation控制器中添加方法,当然你也可以搞一个分类
代码部分(以便拷贝):
if ([[[UIDevice currentDevice]systemVersion]floatValue]>=7.0) {
self.edgesForExtendedLayout = UIRectEdgeNone;
self.automaticallyAdjustsScrollViewInsets = NO;
}
问题二:自定义TarBar上按钮显示的图片太大
定义View作为TarBar,用UIButton作为TarBarItem使用,由于美工提供的切图不好,图片太大,导致按钮上的图片看起来失真。
需求:得到一张缩小后的图片
解决方法:
创建一个UIImage的分类
代码部分(以便拷贝):
+ (UIImage *)OrignImage:(UIImage *)image scaleToSize:(CGSize)size
{
UIGraphicsBeginImageContext(size);
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
UIImage *scaledImage =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}
问题三:关于tableView处理的小细节
一。去除tableView多余的分割线:
代码部分(以便拷贝):
方法一:
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone ;
上面方法会把所有分割线都去掉,如果你想要cell有内容的显示分割线,那么你就需要在cell中自己添加一个 用label做的的分割线
方法二:
self.tableView.tableFooterView = [[UIView alloc]init];
把footView创建为view 简单粗暴,同事cell有内容的部分还同样有分割线。
二。去除cell选中背景色
self.selectionStyle = UITableViewCellSelectionStyleNone;
问题四:明明定义一个对象成为另一个对象的代理的,代理回调的时候却 代理是非法的内存地址
ViewController.delegate = self;
明明代理实现了,也遵守协议了,挂断点显示代理有内存地址,也就是存在的。但之后代理回调,断点显示的是
搞了好久,才发现,是不是因为对象提前被释放了?
打印一下果然来到dealloc 方法!!
结论:如果你的代理,对象也遵守协议了,方法也实现了,但是你的代理仍然为空的,那么你就要考虑是不是对象被提前释放了