我使用以下代码创建了UIAlertView
多个按钮:
UIAlertView *alert = [[UIAlertView alloc] initWithFrame:CGRectMake(0, 0, 300, 200)];
alert.tag = TAG_ALERT0;
alert.title = @"Notes";
alert.delegate = self;
[alert addButtonWithTitle:@"Add Note"];
[alert addButtonWithTitle:@"Show Notes"];
[alert addButtonWithTitle:@"Cancel"];
[alert show];
我想知道是否可以为每个按钮添加不同的背景颜色?
答案 0 :(得分:0)
是的,您 可以 ,但不应修改UIAlertView
的外观,因为Apple讨厌那个狗屎。
而是创建自己的UIView
,模仿alertView
。
另外...... initWithFrame
方法是否有所作为?
示例...尝试:
UIAlertView *alert = [[UIAlertView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
它不会有所作为。
所以......我建议:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Notes"
message:nil
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Add Note",@"Show Notes",nil];
[alert setTag:TAG_ALERT0];
[alert show];
但是既然你要求提供示例代码,那么下面的例子就很简单了:
示例:
-(void)willPresentAlertView:(UIAlertView *)alertView
{
UILabel *theTitle = [alertView valueForKey:@"_titleLabel"];
[theTitle setTextColor:[UIColor orangeColor]];
NSMutableArray *arrButtons = [alertView valueForKey:@"_buttons"];
for (UIView *vwCurrent in arrButtons) {
[vwCurrent setBackgroundColor:[UIColor redColor]];
}
}