1. 程式人生 > >iOS 設定Button的 初始選中狀態

iOS 設定Button的 初始選中狀態

進入頁面列表頁面的時候可能 會有二級列表,資料預設是二級列表的第一個欄目下的資料,所以,預設情況下第一個 應該是選中的狀態比如活動秀  就是 這個二級列表的第一個,下面資料就是它的資料,所以他顯示的是選中狀態 紅色的。

btnMutableArray = [[NSMutableArray alloc]init]; //將button放到數組裡面

 NSMutableDictionary *titleDic = [[NSMutableDictionary alloc]init]; //這個是二級標題的所有資訊的字典 首頁返回的

    for (int i = 0; i < titleMutableArray.count; i++) {

        titleDic = [titleMutableArray objectAtIndex:i];

 allButton = [[UIButton alloc]

initWithFrame:CGRectMake(viewWidth/4*i, 0, viewWidth/4, 35)];

        [allButton setTitle:titleDic[@"name"] forState:UIControlStateNormal];

        classid = [titleDic[@"id"]intValue];

 allButton.tag = classid;

 allButton.titleLabel.font = [UIFont systemFontOfSize:14];

        [allButton setTitleColor:

RGBCOLOR(231, 96, 73) forState:UIControlStateSelected];

        [allButton setTitleColor:RGBCOLOR(51, 51, 51) forState:UIControlStateNormal];

 allButton.titleLabel.textAlignment = NSTextAlignmentCenter;

        [allButton addTarget:self action:@selector(fashionButtonPressed:)forControlEvents:UIControlEventTouchUpInside];

        [headerScrollerView addSubview:allButton];

        [btnMutableArray addObject:allButton];

    }

    ((UIButton *)[btnMutableArray objectAtIndex:0]).selected=YES;  // 關鍵是這裡,設定 陣列的第一個button為選中狀態

//點選事件

-(void)fashionButtonPressed:(UIButton *)sender{

    [myFashionMutableArray removeAllObjects];

    [_myfashionTableView reloadData];

    ((UIButton *)[btnMutableArray objectAtIndex:0]).selected=NO; //點選其他button之後這裡設定為非選中狀態,否則會出現2個紅色的選中狀態

    if (sender != allButton) {

 allButton.selected = NO;

        allButton = sender;

    } //這個if是網上抄的,有點神奇

 allButton.selected = YES;

    _fashionpid = sender.tag;

    pageSize = 0;

    [self loaddataMethodsWithpid:_fashionpid page:pageSize number:Baby_NumofList andSord:0];

}