iOS 3D Touch使用<二、 Peek、Pop使用>
来源:互联网 发布:淘宝有库存管理吗 编辑:程序博客网 时间:2024/05/16 14:08
3D Touch 的第二个功能:预览和弹出视图
1、创建一个viewcontroller作为window的rootviewcontroller(xcode7 这个需要设置,否则会崩溃)
2、创建一个预览视图控制器peekViewController,展示peek的内容,同时实现
3、viewcontroller控制器签署协议
UIViewControllerPreviewingDelegate(该协议是iOS9新特性)
4、在viewdidload里面检测是否支持3D Touch,设置代理
//必须进行是否支持3D Touch,3D Touch可以被关闭,还有一些ios设备不支持
if (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) {
[selfregisterForPreviewingWithDelegate:selfsourceView:self.view];
}
5、在viewcontroller里实现协议方法
//peek
- (nullable UIViewController *)previewingContext:(id <UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)locationNS_AVAILABLE_IOS(9_0)
{
PeekViewController *vc = [[PeekViewControlleralloc]init];
//设置预览视图的大小
vc.preferredContentSize =CGSizeMake(0,330);
//设置点击位置出现的白色块的大小
previewingContext.sourceRect =CGRectMake(20, location.y -10, [UIScreenmainScreen].bounds.size.width -40, 50);
return vc;
}
//pop 方法
- (void)previewingContext:(id <UIViewControllerPreviewing>)previewingContext commitViewController:(UIViewController *)viewControllerToCommit NS_AVAILABLE_IOS(9_0)
{
//可以进行视图跳转等操作
[self.Navgationviewcontroller pushViewController:viewControllerToCommitanimated:NOcompletion:nil];
}
6、在peekviewcontroller里面实现
-(NSArray<id<UIPreviewActionItem>> *)previewActionItems方法
-(NSArray<id<UIPreviewActionItem>> *)previewActionItems
{
NSMutableArray *actionItemArray = [NSMutableArrayarray];
UIPreviewAction *action1 = [UIPreviewActionactionWithTitle:@"自定义1"style:UIPreviewActionStyleSelectedhandler:^(UIPreviewAction *_Nonnull action, UIViewController *_Nonnull previewViewController) {
//实现自己的逻辑处理
}];
UIPreviewAction *action2 = [UIPreviewActionactionWithTitle:@"自定义2"style:UIPreviewActionStyleSelectedhandler:^(UIPreviewAction *_Nonnull action, UIViewController *_Nonnull previewViewController) {
}];
[actionItemArray addObject:action1];
[actionItemArray addObject:action2];
return actionItemArray;
}
- iOS 3D Touch使用<二、 Peek、Pop使用>
- iOS开发-------3D Touch之Peek,Pop,UIPreviewAction
- 3D Touch功能之Peek&Pop
- 浅谈3D Touch(2) -- UITouch && Peek && Pop
- Objc 精选 - 3D Touch 之 Peek & Pop 操作
- 3D Touch和peek and pop和force
- 利用 3D touch 的“Peek and Pop”实现视频预览
- Peek和Pop功能开发(3D Touch开发之一)
- iOS9 3DTouch(ShortcutItem、Peek/Pop)等简单使用
- iOS开发 3D-touch使用
- IOS 3D touch的使用
- iOS 3D Touch简单使用
- ios 3D Touch 的使用
- iOS 9 以后使用3D touch()
- iOS9 3D Touch 标签菜单 peek and pop force 压力触控 功能开发高级版教程
- [iOS]iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览
- iOS9 3D Touch iOS 教程 ShortcutItem使用
- iOS开发 3D Touch的简单使用
- String的一部分替换为星号“*”
- dubbo spring2.5.6与spring 3冲突解决
- 关于MyBatis sqlSession的一点整理
- iOS事件传递和事件响应链
- New误解
- iOS 3D Touch使用<二、 Peek、Pop使用>
- web端开发-mac上怎么调试safari,chrome,Firefox和IE7,8,9,10,11的不同状态
- UE4 学习笔记(一)--- TextBox 文本框用BluePrint做限制字符输入个数
- iOS中copy和mutableCopy
- php连贯操作实现
- Android Studio:Android Studio安装Genymotion插件
- HashMap和HashTable的主要区别
- 基于Android的ELF PLT/GOT符号重定向过程及ELF Hook实现(by 低端码农 2014.10.27)
- 携程Android App插件化和动态加载实践