屏幕旋转和弹出框

作者: ly渐行渐远 | 来源:发表于2015-11-30 20:56 被阅读830次

iOS中控制屏幕旋转相关方法

shouldAutorotate:是否支持屏幕旋转

{
    //返回值为YES支持屏幕旋转,返回值为NO不支持屏幕旋转,默认值为YES。
    return YES;
}```

supportedInterfaceOrientations:设置当前界面所支持的屏幕方向
```- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
    //支持所有的屏幕方向
    return UIInterfaceOrientationMaskAll;
    //支持向左或向右
    //return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
}```

layoutSubviews:重写父类的layoutSubviews,当屏幕旋转时会执行此方法,一般在此方法中对当前的子视图重新布局
```- (void)layoutSubviews
{
    [super layoutSubviews];//调用父类的方法
    //获取当前屏幕的方向状态, [UIApplication sharedApplication]获得当前的应用程序
    NSInteger orientation = [UIApplication sharedApplication].statusBarOrientation;
    switch (orientation) {
        //屏幕左转时的重新布局
        case UIInterfaceOrientationLandscapeLeft:
            {
              ......
            }
            break;
        //屏幕右转时的重新布局
        case UIInterfaceOrientationLandscapeRight:
            {
              ......
            }
            break;
        //屏幕转回来后的重新布局  
        case UIInterfaceOrientationPortrait:
            {
              ......
            }
            break;
        default:
            break;
    }
}```

#警示框
iOS8.0之前
警示框:
```//创建一个警示框并初始化
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"标题" message:@"内容" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", @"再次确定", nil];
//显示alertView
[alertView show];

alertView:clickedButtonAtIndex:警示框的代理方法

{
    NSLog(@"buttonIndex = %ld",buttonIndex);//输出点击按钮的标记index,根据添加顺序从0开始一次增加
}```

屏幕下方弹框:
```//初始化sheet
UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"sheet" delegate:nil cancelButtonTitle:@"取消" destructiveButtonTitle:@"确定" otherButtonTitles:@"其余", nil];
//显示
[sheet showInView:sheet];```

actionSheet:clickedButtonAtIndex:屏幕下方弹框的代理方法
```- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSLog(@"buttonIndex = %ld",buttonIndex);//输出点击按钮的标记index,根据添加顺序从0开始一次增加
}```

iOS8.0之后
UIAlertController:提示框控制器 这是iOS8之后出得新类,用于替换原来的UIAlertView 和 UIActionSheet
*  title:提示框按钮的标题
*  style:按钮的样式
*  handler:点击该按钮就会执行的语句(block)

//初始化一个UIAlertController
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"提示框" message:@"内容" preferredStyle:UIAlertControllerStyleAlert];
//为提示框添加点击按钮alertAction
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
NSLog(@"点击了取消按钮");
}];
//将创建好的action添加到提示框视图控制器上
[alertController addAction:cancelAction];
//再添加一个确定按钮
UIAlertAction *sureAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
NSLog(@"点击了确定按钮");
}];
[alertController addAction:sureAction];```

相关文章

  • 屏幕旋转和弹出框

    iOS中控制屏幕旋转相关方法 shouldAutorotate:是否支持屏幕旋转 alertView:clicke...

  • 提示框

    target:点击按钮---->屏幕中间弹出提示框 target:点击按钮---->屏幕底部弹出提示框

  • 2018-09-23同级之间传值

    一:父子组件通信(对话) 屏幕展示:对话形式 生命周期 代码展示 屏幕展示:弹出多个弹出框beforeCreate...

  • 微信小程序入门(十二):底部弹出菜单ActionSheet

    Android和ios都会提供从底部弹出的,也就是点击屏幕某部分在屏幕底部会弹出列表框供用户进行选择,旧版微信使用...

  • webview全屏播放视频之后加载弹框失败

    webview播放视频之后,js弹框弹出失败,实际屏幕是暗色的,说明弹框已经弹出,怀疑是x5内核自己实现的全屏出现...

  • vue-弹出框组件

    创建一个公用的弹出框组件,包括消息弹出框,确认弹出框,自定义内容弹出框 一、创建 1、创建一个基础弹出框:dial...

  • BootStrap[第十六章:弹出框和警告框插件]

    一.弹出框 弹出框即点击一个元素弹出一个包含标题和内容的容器。 弹出框插件有很多属性来配置提示的显示,具体如下: ...

  • python+pywin32处理另存为弹出框保存文件

    1.首先先定位该弹出框: 用spy++查找到该弹出框的标题和类名: 弹出框的句柄是每次都会变的,所以通过标题和类名...

  • Dialog 笔记

    AlertDialog 实现 从屏幕底部弹出对话框 自定义效果 Activity 仿 Dialog 效果 部分参考...

  • 收集的各种库、项目

    android-ActionSheetactionsheet是IOS中自带从屏幕下方弹出并且可点击的弹框控件 an...

网友评论

本文标题:屏幕旋转和弹出框

本文链接:https://www.haomeiwen.com/subject/mjjjhttx.html