根据界面方向进行框架

发布于 2024-10-07 18:17:59 字数 347 浏览 8 评论 0原文

我在 UIAlertView 中有一个 UITextField。当方向改变时,我想更新 UITextField 的框架,因为否则它会与 UIAlertView 的按钮重叠。这些是框架:

portrait: CGRectMake(12.0, 45.0, 260.0, 26.0)
landscape: CGRectMake(12.0, 30.0, 260.0, 26.0)

如何在不直接使用加速度计的情况下检查设备的方向是否发生变化?

它应该在 -[UIViewController shouldAutorotateToInterfaceOrientation:] 中吗?

I have a UITextField in a UIAlertView. When the orientation changes, I want to update the UITextField's frame because it would otherwise overlap the UIAlertView's buttons. These are the frames:

portrait: CGRectMake(12.0, 45.0, 260.0, 26.0)
landscape: CGRectMake(12.0, 30.0, 260.0, 26.0)

How can I check if the device's orientation has changed without using the accelerometer directly?

Should it be in -[UIViewController shouldAutorotateToInterfaceOrientation:]?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

美人迟暮 2024-10-14 18:17:59

试试这个

if([[UIDevice currentDevice] orientation]==UIInterfaceOrientationLandscapeLeft || [[UIDevice currentDevice] orientation]==UIInterfaceOrientationLandscapeRight)
{
   //Landscape Frame
}
if([[UIDevice currentDevice] orientation]==UIInterfaceOrientationPortrait)
{
   //Portrait Frame
}

Try this

if([[UIDevice currentDevice] orientation]==UIInterfaceOrientationLandscapeLeft || [[UIDevice currentDevice] orientation]==UIInterfaceOrientationLandscapeRight)
{
   //Landscape Frame
}
if([[UIDevice currentDevice] orientation]==UIInterfaceOrientationPortrait)
{
   //Portrait Frame
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文