gpt4 book ai didi

objective-c - 使用 UITextFields 和 UITextViews 自定义 UIAlertView

转载 作者:行者123 更新时间:2023-11-28 19:13:35 25 4
gpt4 key购买 nike

我想制作一个 UIAlertView,其中有一个 UITextFieldUITextView 显示一些 5 - 6 行。我尝试创建 View 并将其添加为 subview ,但它与警报 View 的按钮重叠。在调整警报 View 的大小时,按钮不会向下移动。我还需要为它设置不同的背景和东西。那就是我需要制作一个自定义警报 View 。我是 iPhone 编程的新手。请提供执行此操作的方法。

最佳答案

您真的不能制作自定义警报 View ,因为 Apple 已经决定他们不想让我们搞砸。如果您可以接受警报中只有一个文本字段和常用背景色,则可以使用 setAlertViewStyle:UIAlertViewStylePlainTextInput 将文本字段放入警报中。

UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil, nil];
[myAlertView setAlertViewStyle:UIAlertViewStylePlainTextInput];
[myAlertView show];

但是,如果您真的想进行这些更改,则必须使用 UIView 制作自己的 View 并将其装饰成警报 View 。这是一个粗略的例子:

- (IBAction)customAlert:(UIButton *)sender
{
UIView *myCustomView = [[UIView alloc] initWithFrame:CGRectMake(20, 100, 280, 300)];
[myCustomView setBackgroundColor:[UIColor colorWithRed:0.9f green:0.0f blue:0.0f alpha:0.8f]];
[myCustomView setAlpha:0.0f];

UIButton *dismissButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[dismissButton addTarget:self action:@selector(dismissCustomView:) forControlEvents:UIControlEventTouchUpInside];
[dismissButton setTitle:@"Close" forState:UIControlStateNormal];
[dismissButton setFrame:CGRectMake(20, 250, 240, 40)];
[myCustomView addSubview:dismissButton];

UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 20, 240, 35)];
[textField setBorderStyle:UITextBorderStyleRoundedRect];
[myCustomView addSubview:textField];

UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(20, 75, 240, 150)];
[myCustomView addSubview:textView];

[self.view addSubview:myCustomView];

[UIView animateWithDuration:0.2f animations:^{
[myCustomView setAlpha:1.0f];
}];
}

- (void)dismissCustomView:(UIButton *)sender
{
[UIView animateWithDuration:0.2f animations:^{
[sender.superview setAlpha:0.0f];
}completion:^(BOOL done){
[sender.superview removeFromSuperview];
}];
}

关于objective-c - 使用 UITextFields 和 UITextViews 自定义 UIAlertView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13669871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com