防止AlertView自动旋转

2023-11-30

我的应用程序的启动页面设置为portrait仅用这一点代码:

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait ;
}

当应用程序启动时UIAlertView出现用于输入用户名和密码。 显示它的方法是从调用的viewWillAppear.

这对于iOS6但是由于iOS7,如果我将设备切换为横向,主视图仍保持纵向,但警报视图和键盘旋转为横向。 另一个奇怪的怪癖是,当我切换回纵向模式时,只有键盘切换回来(以截断的形式),使警报冻结在横向模式下:

enter image description here

谁能告诉我如何防止这种情况?

-EDIT-

自动旋转代码在单独的类别中调用:

@implementation UINavigationController (Orientation)

-(NSUInteger)supportedInterfaceOrientations
{
    return [self.topViewController supportedInterfaceOrientations];
}

-(BOOL)shouldAutorotate
{
    if (UIInterfaceOrientationIsLandscape([[UIDevice currentDevice] orientation])) return NO;
    else return YES;
}

@end

-EDIT 2-

我也尝试过创建一个类别UIAlertView但它从未被称为:

@implementation UIAlertView (Orientation)

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

-(BOOL)shouldAutorotate
{
    return NO;
}

-EDIT 3-

我不确定这有多相关,但这是显示警报的代码:

- (void)alertWithMessage:(NSString *)theMessage
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Login"
                                                    message:theMessage
                                                   delegate:self
                                          cancelButtonTitle:@"Login"
                                          otherButtonTitles: nil];

    [alert setAlertViewStyle:UIAlertViewStyleLoginAndPasswordInput];
    UITextField *nameField = [alert textFieldAtIndex:0];
    [alert show];
}

尝试在以下位置执行此操作viewDidAppear:。我以前见过这样奇怪的行为,因为视图布局尚未完全定义。在viewDidAppear:,一切都已准备就绪,因此此时应该不会有任何问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

防止AlertView自动旋转 的相关文章

  • 将 UITableViewDataSource 与具有子视图的自定义单元格结合使用

    在 UITableView 中使用自定义单元格时 我遇到了奇怪的表格重叠 Problem 向下滚动 最后两行上面画有顶部两行 向上滚动 前两行上面画有下面两行 这是 UITableViewDataSource 的代码 func tableV
  • 创建类似于邮件应用程序菜单的 iPhone 弹出菜单

    当您想要回复消息时 我想创建一个类似于邮件应用程序中的弹出菜单 我在多个应用程序中看到过这一点 所以我不确定框架中是否内置了某些内容或一些示例代码 在 Swift 中创建操作表 代码已使用 Swift 5 进行测试 从 iOS 8 开始 U
  • 部署目标是什么意思?

    这是我假设的一个非常简单的问题 有人可以告诉我部署目标是什么意思吗 如果我选择 iOS 10 是否意味着只有 iOS 10 的用户才能下载该应用程序 选择较低的部署目标是否不好 另外 继续部署目标 是否不建议在较低的部署目标上运行 假设您已
  • 删除 UICollectionView 中的最后一个单元格会导致崩溃

    您好 我正在使用自定义 UICollectionView https github com SureCase WaterfallCollectionView https github com SureCase WaterfallCollec
  • 如何将导航栏大标题转换为多行,居中对齐

    我正在尝试设计具有多行居中大标题文本的视图控制器 就像苹果的 Ask Siri Settings gt General gt Keyboards gt About Ask Siri Dictation and Privacy 我可以使用以下
  • iPad 照片选择器崩溃

    我正在使用以下函数根据 UIActionSheet 的结果激活设备相机或图像选择器 如果 fromCamera YES 那么它适用于 iPhone 和 iPad 如果 fromCamera NO 那么它可以在 iPhone 上运行并出现图像
  • 如何替换已弃用的方法dispatch_get_current_queue()? [复制]

    这个问题在这里已经有答案了 我正在 iOS 5 中使用 xmppframework 开发一个聊天应用程序 它工作得很好 但我将 Xcode 更新到 4 5 1 将 iOS 5 更新到 iOS 6 将 Mac OS 更新到 10 7 5 但由
  • Parse.com 从相关 PFObject 获取 PFUser

    我正在将照片保存为 PFObject 解析 并使用 PFUser currentUser 用户 ID 作为其键之一 我想在表格视图中显示照片以及该 PFUser 的详细信息 但是当我尝试获取用户时 PFUser user self phot
  • 当地图视图只是屏幕的一部分时,如何在 iOS 模拟器中进行捏合?

    我在 iPad 上有一个视图 我正在添加MKMapView也就是说 全屏高度的一半 然而 当我尝试在 iOS 模拟器上进行捏合时 它不起作用 因为 to nubs 填充了模拟器上的整个 iPad 视图 And so with the map
  • 是否可以使用 Firebase 安排推送通知? [复制]

    这个问题在这里已经有答案了 我已经阅读了我能找到的所有文档 但仍然不知道这是否可行 如果我是用户 我可以安排特定时间的推送通知吗 Example 1 我是用户并打开应用程序 2 我允许通知并转到 pickerView 或其他任何内容 并设置
  • 在 Xcode 5 中重命名 iOS 项目[重复]

    这个问题在这里已经有答案了 我需要重命名一个 iOS 项目 有没有办法在不开始一个全新项目的情况下做到这一点 我发现的所有其他信息都与 Xcode 4 或旧版本相关 这些方法似乎使项目崩溃 我在尝试任何名称更改之前创建了一个快照 在 Xco
  • 覆盖层不与 UITableView 一起滚动 - iOS

    我有一个 UITableView 类 它使用以下方法在转到下一个屏幕时调用加载覆盖 问题是这个加载屏幕不随列表滚动 所以如果你滚动一点并单击某些东西 加载屏幕不会显示 因为它位于顶部 如何让加载屏幕始终保持在 UITableView 的顶部
  • 将 SSLSetEnabledCiphers 与 AFNetworking 结合使用来禁用弱密码

    我正在尝试禁用一些密码 弱 例如单个 DES 单个 DES 40 位等 我尝试过使用这段代码在 Cocoa 中使用 CFSocket CFStream 时如何设置 SSL 密码 https stackoverflow com questio
  • 如何使用 Swift 使用 TouchID?

    Apple 为 iOS 8 的 TouchID 实现提供的文档采用 Objective C 语言 有 Swift 版本吗 Objective C IBAction touchIDAvailable UIButton touchIDAvail
  • 将 Firebase 云消息传递与 Windows 应用程序结合使用

    我在 Android 和 iOS 应用程序中使用 Firebase Cloud Messaging 但是我还有此应用程序的 Windows Mac OS 版本 我想保留相同的逻辑 我知道 Firebase Cloud Messaging 可
  • Firebase 身份验证问题 - 通过电子邮件地址检查用户是否存在

    我在 Firebase 上创建了一个帐户 它有效 但现在我想阻止人们使用已存在的电子邮件地址创建帐户 这是代码 DatabaseManager shared userExists with email completion weak sel
  • 推送动画,没有阴影和停电

    我有一个简单的iOS NavigationController基于应用程序 二UICollectionViews 相继 如果元素打开 第一个合集 被点击时 第二集 将被打开 非常简单 重要的提示 Both UICollectionViews
  • 如何让按钮闪烁?

    我试图在扫描正确时将按钮的颜色 只是闪烁 闪烁 更改为绿色 在出现问题时将按钮的颜色更改为红色 我可以用这样的视图来做到这一点 func flashBG UIView animateWithDuration 0 7 animations s
  • 哪些 Flutter 插件或功能可以利用外部 iOS/Android 显示器来显示与主显示器不同的内容

    我正在构建一个跨平台应用程序 需要在外部显示器上显示不同的视图 通常通过连接到 LCD 投影仪的 HDMI 适配器电缆连接 Flutter 是否能够在内置的外部显示器上显示不同的屏幕 在现有的 Flutter 插件中还是使用现有的 Flut
  • PFQueryTableViewController 错误

    我正在遵循在线教程 使用 Parse 作为后端创建照片共享应用程序 我已经运行了两次教程 两次都从头开始创建应用程序 但在同一位置仍然出现相同的错误 我到处寻找解决方案 但仍然没有运气 我正在使用 PFQueryTableViewContr

随机推荐

  • Python:如果 DataFrame 之间的其他值匹配,则对 DataFrame 中的值求和

    我有两个不同长度的数据帧 如下所示 数据框A FirstName LastName Adam Smith John Johnson 数据框B First Last Value Adam Smith 1 2 Adam Smith 1 5 Ad
  • 从实体框架实体获取列数据类型

    使用实体框架 5 首先使用数据库 是否可以 在运行时 获取实体属性所代表的数据库列的数据类型 如果更容易的话 net 类型也可以正常工作 IEnumerable
  • android渲染使用CPU而不是GPU?

    很奇怪的是 在 systrace 工具中 当我看到 SurfaceFlinger 执行绘图命令和窗口合成时 它是在 CPU 上运行的 而不是在 GPU 上运行的 但根据 Romain Guy 的 google 演讲 他们表示绘图命令的组合和
  • PHP 致命错误:使用 laravel4 找不到类“PDO”

    一小时后尝试解决这个问题我失败了 我的错误消息是 Generating autoload files PHP Fatal error Class PDO not found in usr share nginx html laravel a
  • C 函数局部变量的作用域

    当我开始用 C 语言编程时 我就听说过以下场景 尝试从外部访问函数局部变量将导致错误 或垃圾值 由于当我们从函数返回时堆栈被清除 但我的下面的代码示例打印的值为 50 我正在使用最新的 GCC 编译器编译代码 include
  • 如何根据下面的示例从 SQL Server 检索数据?

    实际上我在这里发布了与此相关的类似问题如何按照下面的要求从 SQL Server 检索数据 现在我需要对此进行一些更改 因此请在提出建议之前查看此内容 我有一张这样的桌子 CustName Country RecordedTime Alex
  • 使用 Scala 符号文字会导致 NoSuchMethod

    我最近开始使用 Scala 我在其中编写了一个 DSL 可用于描述中的处理管道medici 在我的 DSL 中 我使用符号来表示锚点 它可用于在管道中放置叉子 或 T 恤 如果您愿意 这是一个正确运行的小示例程序 object Test e
  • Rails 4 表单:基于单选按钮选择条件显示字段

    首先 如果这个问题很愚蠢 请原谅我 我刚刚开始了解 Rails Javascript 和 jQuery 对我来说是一个全新的世界 我发现了以下类似的问题 但根本不明白它们如何适用于我的情况 如果选中复选框则显示 隐藏 div 根据所选的单选
  • 合并 d3 中的转换

    如何在不中断第一个转换的情况下将第二个转换添加到 D3 中正在进行的转换 我创建了一个jsbin来说明问题 在示例中 一个按钮触发一个转换以增加矩形的宽度 另一个按钮触发一个转换以将其填充变为红色 function changeFill d
  • getenv() 如何是线程安全的?

    我想使用getenv 功能 现在我收到某人的评论 如果多个线程调用这个函数 这将不是线程安全的 但是如果我看看信息页对于这个函数 它指出 只要环境保持不变 并发调用该函数是安全的 我理解静态数据块的概念 并且该函数返回指向它的指针 据我了解
  • 在sqlite3中用REGEXP替换字符串的一部分

    我安装了 REGEX 支持 apt get install sqlite3 sqlite3 pcre 现在我可以在 bash 控制台上的查询中使用 REGEX 例如 DB somedb db REGEX EXTENSION SELECT l
  • 为什么这段文本没有出现在 JSF 中?

    我有以下 HTML 文件 Hello
  • Inno Setup Windows DLL 函数调用,带有指向结构的指针

    我正在尝试使用 Inno Setup 的 Pascal 脚本语言来设置服务的失败操作 我收到经典 地址访问冲突 错误 似乎这是不可能的 因为该语言不支持指针 有任何想法吗 这是代码片段 type TScAction record aType
  • 执行存储为字符串的 JavaScript 代码

    如何执行一些字符串形式的 JavaScript function ExecuteJavascriptString var s alert hello how do I get a browser to alert hello 随着eval函
  • Android Instant App 未正确安装(行为与普通应用程序相同)

    我正在尝试使用以下步骤向移动设备启动即时应用程序 在 Android Studio 中生成 Instant App 的签名 apk 这将生成一个包含 Base apk 文件和 feature apk 文件的 zip 文件 解压生成的文件 使
  • 如何在使用 symfony2(和 fosUserBundle)登录时动态添加用户角色?

    在我的应用程序中 用户可以随着时间的推移在免费用户和高级用户之间切换 当他们的订阅到期时 他们不再拥有高级权限 我想我可以走捷径 不将高级用户角色存储在数据库中 只存储他们付款的日期 从而消除了添加或删除用户的高级角色的 cron 作业的需
  • 是否可以在 Fortran 2003 的类型中实现“抽象”变量?

    我想写一个抽象类型 type abstract Vehicle real dimension allocatable Wheels contains procedure Compute Weight deferred VehicleWeig
  • 如何让 ServiceStack 序列化/反序列化具有正确类型的 Expando 对象

    只是想弄清楚 servicestack text 支持将 Expando 对象序列化到 json 或从 json 序列化的情况如何 我知道 Expando 对象实现了 IDictionary 当我序列化到 json 或从 json 序列化时
  • Rails:表单确认消息以及提交表单中的数据

    尝试为 Rails 表单制作自定义 confirm 消息 该消息从提交的表单返回数据 而不仅仅是静态字符串 这个想法是 如果用户在柱数文本字段中输入数字 3 确认消息将显示如下 您真的确定要使用 3 个柱吗 有什么想法如何做到这一点 尝试这
  • 防止AlertView自动旋转

    我的应用程序的启动页面设置为portrait仅用这一点代码 NSUInteger supportedInterfaceOrientations return UIInterfaceOrientationMaskPortrait 当应用程序启