自定义UIView大小位置和IBaction

时间:2013-10-08 18:23:33

标签: ios objective-c uiview cgrectmake

晚上好,

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

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

我是iOS开发人员的新手,请帮我创建此布局(请参阅附件)以及如何在我按提交时检查选中的复选框,示例代码非常感谢。View to create

谢谢大家。

2 个答案:

答案 0 :(得分: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");
}

答案 1 :(得分: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)现在,您可以使用以下链接在Interface Builder中设置每个复选框按钮的出口: Setting Outlets

7)在提交按钮方法中,您可以使用以下代码检查按钮是否被选中。假设您的复选框uibutton ivar是名称check1&amp; 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
}

}

完成!!祝你好运..