2013-10-08 46 views
0

晚上好,自定義UIView的大小位置和IBAction爲

我工作的應用程序,必須證明(點擊一個按鈕時)定製的容器在我的視圖控制器的精確位置和大小。

這個容器將加載2個checkboxs(我知道我可以使用UISwitchControl與PNG格式修改2種狀態)和一個按鈕「提交」。

我在iOS上開發新的,請幫助我建立這個佈局(見attachement)以及如何檢查當我按下提交,示例代碼非常讚賞該複選框被選中。 View to create

謝謝大家。

回答

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"); 
} 
+0

感謝您的回答,是否有可能通過使用nib文件來做到這一點?和.h和.m文件?我的意思是:創建視圖作爲筆尖並設置控制類中的所有邏輯? – moujib

0

1)在你的XIB文件,你需要拖放2個按鈕並設置其類型設置爲自定義。

2)你應該2個圖像檢查,未經檢查的箱子。

3)然後,您需要將按鈕的狀態改變爲正常/默認,並設置圖像checked.png(或什麼都UR映像名稱是)。

4)然後,將狀態改變爲選擇並設定圖像unchecked.png(或任何名稱烏爾未選中的方框圖像的)。

所以現在你有2個圖像1爲選定的國家和其他正常狀態。

5)你可以保留方法對於這兩個按鈕seperately 爲如:

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

,當你按下它會切換按鈕狀態。

您可以在兩個按鈕上調用相同的方法。

更新

6)現在你可以使用這個鏈接在界面生成器設置每個複選框按鈕的網點: Setting Outlets

7)在提交按鈕方法中,您可以使用以下代碼檢查按鈕是否已選中。假設您的複選框UIButton的伊娃是名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 
} 

} 

DONE!祝你好運..

+0

謝謝你的回答,但是如何讓這個視圖出現,並將其設置在我的viewController上? – moujib

相關問題