ios开发系列 易疏忽点


1.在UINavigationController中修改back为“返回”的方法

    self . navigationItem . backBarButtonItem = [[ UIBarButtonItem alloc ] initWithTitle : @" 返回 " style : UIBarButtonItemStylePlain target : nil action : nil ];

不能直接修改backBarButtonItem中的title属性,必须新建一个 UIBarButtonItem


2.让图片以原始方式渲染


image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal这个方法

(或者使用storyBoard开发时,在

右侧的rander As属性栏调整)




3.取消导航栏的分割线与设置导航栏文字颜色



假如设置了空背景图片,必须禁用穿透效果
self.navigationBar.translucent = NO;
否则barTintColor会失效。
screenshot.png



4.如何从storyboard中加载控制器


1.加载箭头指向的控制器
2.加载特定的标识符的控制器



5.关于通知

1.发送通知的方法
三种发送方法(参数不同,功能相同)




2.接收的时候


3. 要接收消息 必须先监听消息(注意顺序)
所以先写接收的代码,再写发送代码

4.所有以上之前要先创建一个消息中心(Notification)  单例模式,什么时候用什么时候调用创建方法即可
[NSNotificationCenter DefaultCenter]


5.接收者释放的时候,要把通知监听移除
(Notification的removeObserver方法)
(重新创建NSNotificationCenter 然后调用removeObserver self)把自己的接收删除掉


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6.然后用通知的方法来修改聊天的整个View的transform来实现移动




6.更改CollectionView的指定行大小

1.尝试重写layoutAttributesForElementsInRect
(在layout中)
对默写单元格大小进行单独的设置

结果:单元格各种被覆盖

此方法可以用来计算瀑布流(既要改大小又要改frame)

2.更换方法(只改大小不改frame)
在controller中遵守布局代理协议
UICollectionViewFlowLayoutDelegate


可以用此方法设置每个单元格的大小,然后布局间隔会按照以前的设置自动排布
(建议以前统一设置的大小的代码保留)


上述两种方法都很常用



7.关于添加视图到别的视图时,Controller被释放问题


将controller加入到上层controller中

[self addChildViewController:lifeCtrl];



8.Timer的用法







9.TableView的顶部下拉刷新方法







10.TableView的原型Cell使用

使用之前必须必须先加载StoryBoard

具体代码为:

UIStoryboard *loginStoryboard = [ UIStoryboard storyboardWithName : @"SHLoginViewController" bundle : nil ];
   
    SHLoginViewController *loginController = [loginStoryboard instantiateInitialViewController];



不然会报cell注册错误

11.设置徽章的方法



先创建个application对象app1 然后用下面的方法


12.声明代理对象必须用weak


13.TableView使用storyBoard进行布局后如何自适应行高



首先在StoryBoard中进行约束,使控件的约束将contentView的上下边界撑开,然后在tableView的代理中使用下面两个代理方法


// 预测 cell 的高度
- ( CGFloat )tableView:( UITableView *)tableView estimatedHeightForRowAtIndexPath:( NSIndexPath *)indexPath
{   
     return  300 ;
}

// 自动布局后 cell 的高度
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{  
    return UITableViewAutomaticDimension ;
}



14.如何取消tableView的选中效果

在tableView代理中重写如下代理方法

// 设置取消选中效果
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值