1

我正在尝试创建一个带有 3 个文本字段和 3 个标签的 UIAlertView。

但是使用我当前的代码,它们只是相互交叉,我尝试更改 AlertView 的框架,并且尝试使用 CGAffineTransform 但它们都不起作用。

这是我的代码:

UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Sign in" message:@"\n\n\n\n\n" delegate:self cancelButtonTitle:@"Stop" otherButtonTitles:@"Sign in",nil];

UILabel *customerIdLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 55, 65, 21)];

customerIdLabel.tag =1;
customerIdLabel.text = @"Customer id: ";
[myAlertView customerIdLabel];

UITextField *customerIdField = [[UITextField alloc] initWithFrame:CGRectMake(89, 50, 160, 30)];

customerIdField.tag = 2;
customerIdField.placeholder = @"Fill in your customer id";
[myAlertView customerIdField];

然后还有另外两种组合。

这是我尝试过的转换:

CGAffineTransform myTransform = CGAffineTransformMakeScale(1.0, 0.5f);
[myAlertView setTransform:myTransform];

这就是我得到的:

在此处输入图像描述

4

3 回答 3

3

我很确定您不应该那样使用 UIAlertViews。您应该设置标题、消息等并使用 [alertview show]。文档似乎很清楚它是一个原样的类。 UIAlertViewStyle 可能是您可以查看的内容,但选项是 1 个文本字段、1 个安全字段或用户名和密码字段。

您最好的选择是使用新的 UIViewController 并使用presentViewController:animated:completion:调用。

于 2012-10-18T19:58:09.627 回答
0

我通过不更改 UIAlertView 来解决这个问题,但在它显示时在其顶部添加一个清晰的视图(您可以用空格填充)并将文本字段添加到正确的位置(注意何时发生旋转)。然后,让点击通过视图到达 UIAlertView。这已经通过 Apple 商店中的 3 个应用程序。

于 2012-10-18T20:07:00.153 回答
0

在 xcode 5 中的新 SDK 之前,您可以将子视图添加到警报视图,但这不再起作用。由于那个讨厌的代码,我不得不更新一个应用程序。最好将 uipopovercontroller 用于 ipad 或显示 UIView 甚至为 ipad 或 iphone 提供视图控制器。

于 2014-03-31T16:41:41.323 回答