摘要:
一、导航控制器的代理1.UINavigationController的delegate属性2.代理方法1> 即将显示新控制器时调用/*navigationController : 导航控制器viewController : 即将显示的新控制器*/- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated2> 新控制器显示完毕时调用 阅读全文
摘要:
1.webView之所以能够滚动,因为它内部有一个UIScrollView子控件2.移除webView顶部和底部灰色的一层view* 遍历webView中scrollView内部的所有子控件* 移除里面的UIImageView3.利用webView执行脚本[webView stringByEvaluatingJavaScriptFromString:script]; 阅读全文
摘要:
1.比较大小- (NSComparisonResult)compare:(NSString *)string;返回值NSComparisonResult有3种情况:NSOrderedAscending = -1L, // 升序(左边 右边)比如[@"ab" compare:@"ad"]返回NSOrderedAscending比如[@"ab" compare:@"aa"]返回NSOrderedDescending比如[@"ab" compare:@"ab"]返回NSOrdere 阅读全文
摘要:
1.新建一个xib描述UICollectionViewCell(比如DealCell.xib),设置好resuse identifier(比如deal)2.控制器继承UICollectionViewController1> 注册xib[self.collectionView registerNib:[UINib nibWithNibName:@"DealCell" bundle:nil] forCellWithReuseIdentifier:@"deal"];2> 重写init方法- (id)init{ UICollectionViewFlo 阅读全文
摘要:
1> 规律* width 是宽高中最小的那个值* height 是宽高中最大的那个值2> 举例(比如窗口根控制器的view,有状态栏的情况下)* 横屏 width = 748,height = 1024* 竖屏 width = 768,height = 1004 阅读全文
摘要:
1.屏幕即将旋转的时候调用(控制器监控屏幕旋转)- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration2.屏幕旋转完毕的时候调用- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation3.view创建完毕的时候调用- (void)viewDidLoad这个方法调用时,控制器的view只是 阅读全文
摘要:
一、UIView的clipsToBounds属性* 默认情况下,超出父控件尺寸范围的子控件还是可见的* 如果设置父控件的clipsToBounds=YES,就会裁剪掉超出父控件尺寸范围内的子控件,即超出父控件尺寸范围内的子控件就不显示二、layoutSubViews* 在一个控件的尺寸(宽高发生改变)的时候调用,一般在这里重新调整内部子控件的位置* 重写layoutSubViews方法时,一定调用回super的layoutSubViews的方法(super内部有一些必须要执行的操作)三、触摸事件传递(默认情况下)* 如果父控件不能接收事件,子控件是不可能接收到事件的* 如果点击的区域不在某个控 阅读全文
摘要:
一、运行时简单使用1.包含头文件2.给对象发送消息的方法:objc_msgSend(id, SEL, ....)* 第1个参数是对象* 第2个参数是方法* 后面的...参数是调用方法需要传递的参数3.平时的方法调就是转成了底层的消息机制函数调用,比如[person setAge:10];转成了objc_msgSend(person, @selector(setAge:), 10);二、KVC补充NSArray *data = [_citiesData valueForKeyPath:@"name"];上面代码所做的操作是:* 先取出_citiesData中的每一个对象元素* 阅读全文
摘要:
1.搜索框的代理(delegate)方法#pragma mark 监听搜索框的文字改变- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText#pragma mark 搜索框开始编辑(开始聚焦)- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar#pragma mark 当退出搜索框的键盘时(失去焦点)- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar#pr 阅读全文
摘要:
一、封装一个View的思路1.将View内部的业务逻辑(显示内容)封装到View中2.一般情况下,View的位置应该由父控件来决定,也就是位置不应该固定死在View内部3.至于View的宽高,根据具体情况来决定要不要由父控件决定 阅读全文