iPad actionsjeet

  • 在iphone和ipad上使用UIActionShee控件t的效果会不一样,在苹果的官方文档中有相关说明:

在ipad上使用UIActionSheet控件改控件不再从底部弹出,而是从屏幕中间弹出与UIAlertView警告框弹出有点类似。效果如图所示,cancelButton按钮文字显示不出来,destructiveButtonTitle按钮文字为红色加粗字体。

  • iOS 8.3以后不再使用actionsheet,而是统一用UIAlertController,所以如果有iOS7的用户,需要适配:
        //初始化actionsheet,适配 iOS 8.3 以下

        if([[UIDevice currentDevice].systemVersion floatValue] > 8.3){//iOS 8.3以上,废弃旧版actionsheet
            UIAlertController* actionSheet = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
            UIAlertAction *sendAction = [UIAlertAction actionWithTitle:@"发送Log文件给微信好友" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                [self SendLogToWechatFriends];
            }];
            [actionSheet addAction:sendAction];
            actionSheet.popoverPresentationController.sourceView = _logoImgView;
            actionSheet.popoverPresentationController.sourceRect = _logoImgView.bounds;
            [actionSheet.popoverPresentationController setPermittedArrowDirections:UIPopoverArrowDirectionUp];

            [self presentViewController:actionSheet animated:YES completion:nil];
        }else{//iOS 8.3以下使用旧版actionsheet
            UIActionSheet *actionSheet = [[UIActionSheet alloc]
                                          initWithTitle:nil
                                          delegate:self
                                          cancelButtonTitle:nil
                                          destructiveButtonTitle:nil
                                          otherButtonTitles:@"发送Log文件给微信好友",nil];
            actionSheet.actionSheetStyle = UIBarStyleDefault;
            actionSheet.delegate = self;
            [actionSheet showFromRect:[_logoImgView frame] inView:self.view animated:YES];
        }
  • 为了避免适配,使用自定义的popovercontrolller,然后嵌入一个包着button的viewcontroller:
        UIViewController* actionSheet = [[UIViewController alloc]init];
        actionSheet.view.backgroundColor = [UIColor clearColor];

//        UILabel* label = [[UILabel alloc]initWithFrame:CGRectMake((self.view.bounds.size.width-50)/4, 0, self.view.bounds.size.width-50, 50)];
//        label.text = @"发送Log文件给微信好友";
//        label.textColor = MttColorNamed(@"browser_startpage_news_category_color");
//        [actionSheet.view addSubview:label];

        UIButton* btn = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width-50, 50)];
        btn.backgroundColor =[UIColor clearColor];
        [btn setTitle:@"发送Log文件给微信好友" forState:UIControlStateNormal];
        btn.titleLabel.textAlignment = NSTextAlignmentCenter;
        [btn setTitleColor:MttColorNamed(@"browser_startpage_news_category_color") forState:UIControlStateNormal];
        [btn addTarget:self action:@selector(SendLogToWechatFriends) forControlEvents:UIControlEventTouchUpInside];
        [actionSheet.view addSubview:btn];

        MttPopoverController *popController = [[MttPopoverController alloc] initWithContentViewController:actionSheet];
        popController.popoverContentSize = CGSizeMake(self.view.bounds.size.width-50, 50);
        //popController.delegate = self;
        [popController presentPopoverFromRect:_logoImgView.frame inView:self.view permittedArrowDirections:WYPopoverArrowDirectionUp animated:YES];
        self.popoverController = popController;
  • button在设置title颜色的时候,注意状态,“|”的意思是and,不是或
时间: 2024-12-24 02:43:10

iPad actionsjeet的相关文章

iPad编程

1. iPad 现有型号: iPad Pro, iPad Air, iPad mini 均配备Retina显示屏.早期还有iPad 依次对应的坐标系及分辨率: iPad Pro 坐标系:1366 x 1024  分辨率:2732 x 2048 iPad Air  坐标系:1024 x 768    分辨率:2048 x 1536 iPad mini  坐标系:1024 x 768    分辨率:2048 x 1536 开发过程中图片可只设计2048 x 1536 分辨率下的.根据实际情况,也可选

iPad上用Codea-SCM调用git web services做版本管理

iPad上用Codea-SCM调用git web services做版本管理 目录 说明 安装 Codea-SCM 远端代码仓库设置 本地 Codea-SCM 设置 说明 在 iPad 上使用 Codea 做项目开发,虽然调试.修改代码很方便,但是有一点比较麻烦,就是 Codea 无法做版本管理,所以有时修改错了,想回退到之前的稳定版本,就没办法了,只能手动保存每个版本的代码. 现在有一种方法可以把 Codea 的项目自动提交到 git 服务器上,可以非常方便地管理你的不同版本. 安装 Code

天猫上有哪些值得信赖的购买ipad的旗舰店推荐?

iPad是由苹果公司于2010年开始发布的平板电脑系列,定位介于苹果的智能手机iPhone和笔记本电脑产品之间.其市场定位是那些喜欢用手机看视频,但是觉得手机屏幕太小.用电脑看视频又闲太笨重携带不方便的用户.一个ipad轻松装入女生的宝宝里,在无聊的时间里拿出来看看视频电视节目,阅读电子书等都是不错的选择.从外观上看,iPad就是一个大号的iPhone,运行的是iPhone iOS的操作系统,并采用主频为1GHz的苹果A4处理器,支持多点触控,内置了地图.日历.youtube.itunes st

怎样推断 ios设备的类型(iphone,ipod,ipad)

-(bool)checkDevice:(NSString*)name { NSString* deviceType = [UIDevice currentDevice].model; NSLog(@"deviceType = %@", deviceType); NSRange range = [deviceType rangeOfString:name]; return range.location != NSNotFound; } NSString * [email protecte

5个步骤,将 storyboard 从 iphone 版转变为 ipad 版

1.将 iPhone 版的 Storyboard 复制为 iPad 的,比如 Main_iPad.storyboard 2.用文本编辑器(不要用 Xcode)打开 Main_iPad.storyboar. 3.替换全部的 targetRuntime="iOS.CocoaTouch" 为 targetRuntime="iOS.CocoaTouch.iPad". 4.替换全部的 <simulatedScreenMetrics key="destinati

笔记本和Ipad访问虚拟桌面登录速度差异性的问题探讨

之前在某项目上遇见一个现象: 一个联通的无线上网设备作为最终的上行出口,使用有线从无线设备接入一台笔记本,使用WIFI接入一部Ipad,然后通过公网访问Citrix XenDesktop的虚拟桌面: 发现通过笔记本访问虚拟桌面登录的速度大约在半分钟.运行的流畅度差不多和在局域网内使用的相差不大: 通过Ipad访问虚拟桌面,其登录的速度很慢,加载桌面启动画面和加载用户配置都有很长的时间,整个登录速度大约在2分钟左右. 值得讨论的是: 为什么同样是使用该台无线设备,其有线连接的笔记本和使用WIFI连

iPhone和iPad开发图标基本知识

参考官方文档:http://developer.apple.com/library/ios/#qa/qa1686/_index.html 图标大小问题 本文适用于iPhone,iPod Touch,iPad等各种iOS设备. 图片大小 (px) 文件名 用途 重要程度 512x512 iTunesArtwork iTunes 商店中展示 可以没有,推荐有 57x57 Icon.png iPhone/iPod touch上的App Store以及Home界面 这个真得有 114x114 [emai

【转】ipad死机了,无法退出,也无法关机,怎么办

原文网址:http://zhidao.baidu.com/link?url=oTz6J78hmtCAKddhwu1ITUiPmLnVJIaA_v_0dZblPaIJUhuMdyTCdS6H2737GXyPo7HfHWbktKU_FjlxWg2pGK1vNcF1Knqe_08qTuoQ5Fu 1,当遇到ipad死机,开不了机,没有任何反应时,此时可以尝试将电源和主屏Home键同时按住,保持在10秒以上.看能不能强制重启. 2,如果强制重新启动成功的话,随后可以在屏上看到一个苹果标志.重新启动成功以

iOS(iPhone,iPad))开发(Objective-C)开发库常用库索引

http://www.code4app.com 这网站不错,收集各种 iOS App 开发可以用到的代码示例 http://www.cocoacontrols.com/ 英文版本的lib收集 http://www.objclibs.com/ 精品lib的收集网站 http://www.ityran.com/forum-61-1.html 泰然代码仓库 ---------------------- emoji ---------------------- http://www.easyapns.c