IPAD
一、iPad开发
1. 了解什么是iPad
2. 掌握iphone与ipad的开发时区别(尺寸、点、排版、键盘、API、屏幕方向)
3. 掌握UIPopoverController的使用
案例:
a. 导航栏左边添加leftBarButtonItem按钮
创建MenuViewController控制器
***重点内容***
1>设置内容控制器(并需先创建内容控制器)
//强调UIPopover不是继承UIViewController,也就不具备显示功能,要设置内容,使用initWithContentViewController设置内容
- (id)initWithContentViewController:(UIViewController *)viewController;
@property (nonatomic, retain) UIViewController *contentViewController;
- (void)setContentViewController:(UIViewController *)viewController animated:(BOOL)animated;
2>设置尺寸
设置popView的大小(默认控制器有多大就显示多大)(120, 44 * 3)
pc的方法popoverContentSize
vc的方法
self.preferredContentSize
self.contentSizeForViewInPopover /*ios7过时*/
3>设置在什么地方显示
调用方法
//弹出UIPopoverController的方法(一)
* @param item 围绕着哪个UIBarButtonItem显示
* @param arrowDirections 箭头的方向
* @param animated 是否通过动画显示出来
- (void)presentPopoverFromBarButtonItem:(UIBarButtonItem *)item permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated;
b. 导航控制器titleView添加个按钮,点击,弹出一个控制器,然后这个控制器再用导航控制器包装,显示二级控制器
***重点内容***
1>调用方法(画图讲解rect与intView的关系)
// 弹出UIPopoverController
* @param rect 指定箭头所指区域的矩形框范围(位置和尺寸)
* @param view rect参数是以view的左上角为坐标原点(0,0)
* @param arrowDirections 箭头的方向
* @param animated 是否通过动画显示出来
- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated;
2>控制器内,有自己的逻辑结构(和正常控制器一样可以跳转返回等)
c. 掌握颜色的选取
1>中间添加一个button
2>创建ColorViewController(xib)
self.preferredContentSize = CGSizeMake(225, 250);
3>监听touchBegin 方法 获取点,再获取颜色,然后代理通知主控制器
4>设置btn的背影颜色
5>设置颜色后让popView消失,[_colorPickerPopover dismissPopoverAnimated:YES]
/* 注:
*1> 强调UIPopover不是继承UIViewController,也就不具备显示功能,要设置内容,使用initWithContentViewController设置内容
*2> 讲解directions几个枚举的意思,建议使用UIPopoverArrowDirectionAny ,
*3> 左右方向不太好看,建议不用
*/
/*补充*/
1>passthroughViews 在 popView显示的情况,周边哪些控制可以响应
2>如果要在iphone上实现popView的效果,可以参考code4app
4.掌握UISplitViewController的使用
a.MenuViewController
1>masterViewController(主要控制器)
2>负责展示主要的菜单内容
详细内容(重点)
加载数据
*普通加载数据的方式
// 1.加载plist文件
// 2.将Plist文件的数据转化成数组
// 3.将数组里面所有的字典转化成模型
// 4.将所有的模型对象放入_foodTypes
*通过第三方框架(MJ字典转模型)
// MJ的字典转模型框架
/*
1.Filename:文件名,只传入名称即可
2.File:文件,文件路径+文件名.
*/
_foodTypes = [FoodType objectArrayWithFilename:@"food_types.plist"];
NSString *file = [[NSBundle mainBundle] pathForResource:@"food_types.plist" ofType:nil];
_foodTypes = [FoodType objectArrayWithFile:file];
b.DetailViewController
1>detailViewController(详情控制器)
2>负责展示详细内容
*重点一
ipad中的模态窗口modal比iphone多了些功能
>呈现样式modalPresentationStyle
// UIModalPresentationFullScreen = 0,//全屏
// UIModalPresentationPageSheet,宽度768 高度应屏幕高度而定
// UIModalPresentationFormSheet,占距屏幕中间一小部分
// UIModalPresentationCurrentContext,跟随父控件大小
>过渡样式modalTransitionStyle
//UIModalTransitionStyleCoverVertical = 0,由顶部往上推
//UIModalTransitionStyleFlipHorizontal,水平翻转
//UIModalTransitionStyleCrossDissolve,渐变
//UIModalTransitionStylePartialCurl 翻页 呈现样式必需为全屏
*重点二
引用文件
/*
../css/recipe.css
..:上一个文件夹
css:上一个文件夹里面的css文件
recipe.css:上一个文件夹里面的css文件夹里面的recipe.css文件
*/
- 是否在沙盒创建真实文件夹
- 1.如果选上,表示把拖进来的资源,同时复制一份到我们的项目中
- 2.添加文件夹
2.1选择第一个表示:只创建影片上的文件夹
2.2选择第二个表示:创建硬盘上文件夹,同事创建沙盒中的文件夹
- 3.如果选上,表示将资源加到我们的项目沙盒中
网友评论