如何在UIAlertView内创建自定义UIButton
|
因此,我试图在UIAlertView中嵌入一个可切换的按钮(是一个字吗?)\“不要再显示此”按钮,但是我遇到了一些麻烦,似乎无法解决。
这是到目前为止我无法正常工作的代码...
编辑:我添加了按钮的方法,并对原始代码进行了一些更改。现在,我得到了按钮以对印刷机做出反应,但结果是崩溃。有什么帮助吗?
if (![[NSUserDefaults standardUserDefaults] objectForKey:@\"disclaimer\"]){
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@\"DISCLAIMER\"
message:@\"This program is a blah blah\"
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@\"I Agree\", nil];
UILabel *alertLabel = [[UILabel alloc] initWithFrame:CGRectMake(30, 230, 260, 50)];
alertLabel.backgroundColor = [UIColor clearColor];
alertLabel.textColor = [UIColor whiteColor];
alertLabel.text = @\"Do not show again\";
[alert addSubview:alertLabel];
[alertLabel release];
//declared alertCheckboxButton in the header due to errors I was getting when referring to the button in the button\'s method below
alertCheckboxButton = [UIButton buttonWithType:UIButtonTypeCustom];
alertCheckboxButton.frame = CGRectMake(200, 247, 16, 16);
alertCheckboxButton.backgroundColor = [UIColor clearColor];
UIImage *alertButtonImageNormal = [UIImage imageNamed:@\"checkbox.png\"];
UIImage *alertButtonImagePressed = [UIImage imageNamed:@\"checkbox-pressed.png\"];
UIImage *alertButtonImageChecked = [UIImage imageNamed:@\"checkbox-checked.png\"];
[alertCheckboxButton setImage:alertButtonImageNormal forState:UIControlStateNormal];
[alertCheckboxButton setImage:alertButtonImagePressed forState:UIControlStateHighlighted];
[alertCheckboxButton setImage:alertButtonImageChecked forState:UIControlStateSelected];
[alertCheckboxButton addTarget:self action:@selector(alertCheckboxButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
//made the button a subview of alert rather than alertLabel
[alert addSubview:alertCheckboxButton];
[alert show];
//moved alertCheckboxButton release to (void)dealloc
[alert release];
}
-(void)alertCheckboxButtonClicked{
if (![[NSUserDefaults standardUserDefaults] objectForKey:@\"disclaimer\"]){
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@\"disclaimer\"];
alertCheckboxButton.selected = YES;
}else {
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@\"disclaimer\"];
alertCheckboxButton.selected = NO;
}
}
没有找到相关结果
已邀请:
3 个回复
扇献隙
缮记箔
癸痊醒