0

晚上好 ,

我正在开发必须在我的 ViewController 上以精确位置和大小显示(单击按钮时)自定义容器的应用程序。

这个容器将加载 2 个复选框(我知道我可以使用 UISwitchControl 并使用 PNG 修改 2 个状态)和一个按钮“提交”。

我是 iOS 开发新手,请帮助我创建此布局(请参阅附件)以及如何在我按下提交时检查哪些复选框被选中,非常感谢示例代码。查看创建

谢谢你们 。

4

2 回答 2

1

您可以跟随BOOL变量。当您单击 Item1 时,它应该是 YES,当您单击 Item2 时,它应该是 NO。遵循代码,

BOOL item1ORitem2 = YES;
UIView *containerView = [[UIView alloc] init];
[containerView setFrame:CGRectMake(0, 0, 200, 200)];
[self.view addSubview:containerView];

UIButton *item1btn = [UIButton buttonWithType:UIButtonTypeCustom];
[item1btn setFrame:CGRectMake(10, 20, 50, 30)];
[item1btn addTarget:self action:@selector(item1btnAction) forControlEvents:UIControlEventTouchUpInside];
[containerView addSubview:item1btn];

UIButton *item2btn = [UIButton buttonWithType:UIButtonTypeCustom];
[item2btn setFrame:CGRectMake(10, 60, 50, 30)];
[item2btn addTarget:self action:@selector(item2btnAction) forControlEvents:UIControlEventTouchUpInside];
[containerView addSubview:item2btn];

UIButton *submitBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[submitBtn setFrame:CGRectMake(10, 60, 50, 30)];
[submitBtn addTarget:self action:@selector(submitBtnAction) forControlEvents:UIControlEventTouchUpInside];
[containerView addSubview:submitBtn];

方法是,

-(void)item1btnAction
{
    item1ORitem2 = YES;
}
-(void)item2btnAction
{
    item1ORitem2 = NO;
}
-(void)submitBtnAction
{
    NSLog(@"item1ORitem2");
}
于 2013-10-08T18:38:14.657 回答
0

1)在您的xib文件中,您需要拖放2个按钮并将其类型设置为自定义。

2)您应该选中和取消选中框的 2 张图像。

3)然后您需要将按钮的状态更改为正常/默认并将图像设置为checked.png(或您的图像名称)。

4)然后将状态更改为选中并将图像设置为 unchecked.png(或您未选中框图像的名称)。

所以现在你有 2 个图像 1 用于选定状态,其他用于正常状态。

5)您可以分别保留两个按钮的方法,例如:

-(IBAction)button1Pressed:(id)sender {
UIButton *btn = (UIButton *)sender;
if (btn.isSelected) {
    [btn setSelected:NO];
}
else {
    [btn setSelected:YES];
}
}

这将在您按下按钮时切换按钮状态。

您可以在两个按钮上调用相同的方法。

更新

6)现在您可以使用此链接在界面生成器中设置每个复选框按钮的出口: 设置出口

7)在提交按钮方法中,您可以使用以下代码检查按钮是否被选中。假设您的复选框 uibutton ivar 是名称 check1 & check2

-(IBAction)submitPressed:(id)sender {
if (check1.isSelected) {
    //Check button is unchecked
}
else {
    //Check button is checked
}

if (check2.isSelected) {
    //Check button is unchecked
}
else {
    //Check button is checked
}

}

完毕 !!祝你好运..

于 2013-10-09T04:44:29.980 回答