我已经稍高移动警报视图,所以我可以适合在屏幕上键盘以及。我只是抓住了警报的框架和更改y后,我已经表明了警报,使画面的变量是合法的做到这一点。这工作正常,在模拟器上,但我这样做对硬件时,警报在正确的位置开始,但随后几乎立即跳下到原来的垂直中心的地方。在UIAlertView中的立场,即不应该固定事每实用性准则,以改变还是我只是做一些错误的?

谢谢!

有帮助吗?

解决方案

什么OS是你想责备?我得到这个对OS 3.0模拟器和操作系统都工作3.0设备:

UIAlertView * alert = [ [ UIAlertView alloc ] initWithTitle:@"Alert" message:@"Alert" 
                        delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil ];

alert.transform = CGAffineTransformTranslate( alert.transform, 0.0, 100.0 );

[ alert show ];

CGAffineTransformTranslate有三个参数:现有变换中,x变换,和y变换。在我以前的例子中,警报视图中显示比通常那样高100个像素。试试这个,看看会发生什么。

另外,我敢肯定,你可以显示警报之前修改的框架,因为它有可能在init设置警报的框架是在默认情况下整个屏幕的中央。

其他提示

由于iOS4的周围UIAlertViews移动变得棘手。我注意到,如果你在UIAlertView中添加的UITextField子视图,对iOS4的警报被向上移动,使得键盘不重叠的。这不会发生

另外我注意到,该警报的框架未初始化节目叫即使经过,所以做一个相对CGAffineTransformation没有简单的程序化的方式。唯一的解决办法是基于所述OS版本进行条件的变换。

对我来说这看起来像穿了UIAlertViews的无证行为是随时可能更改。我不认为苹果意味着我们可以用任何东西比文字和按钮(即使他们自己的应用打破了这一规则)。

更多警报

我的人会开始构建自己的自定义提醒这种类型的场景。

不是一个警报意味着是模式 - 即:你一般不会执行任何其他用户输入,同时警报是活性?如果是这种情况,那么你为什么会需要键盘的知名度?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top