我已經創建了我自己的自定義過濾器視圖,我想像UISegmentedControl一樣。我已經將它設置爲一個視圖,然後是3個UIButton。我想知道如何做到這一點,所以當點擊其他兩個被取消選擇和api調用該按鈕,然後重新加載它下面的UICollectionView。如何使用自定義UIButtons獲得UISegementedControl功能?
下面是我的觀點與3按鈕的圖片,希望能更好地解釋我正在嘗試做什麼。
我已經創建了我自己的自定義過濾器視圖,我想像UISegmentedControl一樣。我已經將它設置爲一個視圖,然後是3個UIButton。我想知道如何做到這一點,所以當點擊其他兩個被取消選擇和api調用該按鈕,然後重新加載它下面的UICollectionView。如何使用自定義UIButtons獲得UISegementedControl功能?
下面是我的觀點與3按鈕的圖片,希望能更好地解釋我正在嘗試做什麼。
連接所有的按鈕來此IBAction
並定義標籤每個按鈕。
- (IBAction)pressButton:(id)sender {
UIButton* button1 = (UIButton*)[self.view viewWithTag:99];
UIButton* button2 = (UIButton*)[self.view viewWithTag:100];
UIButton* button3 = (UIButton*)[self.view viewWithTag:101];
[button1 setEnabled:NO];
[button2 setEnabled:NO];
[button3 setEnabled:NO];
[button1 setSelected:NO];
[button2 setSelected:NO];
[button3 setSelected:NO];
if([sender tag]==99){
[button1 setSelected:YES];
[button1 setEnabled:YES];
}else if([sender tag]==100){
[button2 setSelected:YES];
[button2 setEnabled:YES];
}else{
[button3 setSelected:YES];
[button3 setEnabled:YES];
}
}
非常感謝我正在尋找的東西。 – jckly
SetEnabled必須反轉:[button1 setEnabled:YES]; [button2 setEnabled:YES]; [button3 setEnabled:YES]; –
if([sender tag] == 99){button1 setSelected:YES]; [button1 setEnabled:NO]; }等 –
到目前爲止您嘗試過什麼?請分享一些代碼。另外,爲什麼不按照HIG使用'UISegmentedControl'? –
我是iOS的新手,所以我更多地問我如何解決這個問題,而不是解決特定問題。我沒有使用'UISegmentedControl',因爲我沒有意識到我可以將它看起來像上面的圖像,並認爲它的設計定製是有限的。 – jckly