【问题标题】:Creating Radio Button dynamically动态创建单选按钮
【发布时间】:2018-01-03 08:29:11
【问题描述】:

我想从数组计数中创建一个动态单选按钮。如果我选​​择任何一个单选按钮,其他单选按钮应该处于取消选择状态。 请帮我这样做。

   for (int f = 0; f<self.arr.count; f++) {

        UILabel *lbl = [[UILabel alloc]init];
             lbl.frame = CGRectMake(20,radio_y+10 , 30, 20);

             lbl.text = self.arr[f];
             lbl.textColor = [UIColor blackColor];


             [RadioView addSubview:lbl];

          self.yourButton = [[UIButton alloc] initWithFrame:CGRectMake(5,radio_y+5 , 10, 10)];
             [self.yourButton setImage: [UIImage imageNamed:@"RadioButton-Selected.png"]forState:UIControlStateNormal];
             [self.yourButton setImage: [UIImage imageNamed:@"RadioButton-Unselected.png"]forState: UIControlStateNormal];
             self.yourButton.selected = NO;

               [self.yourButton addTarget:self action:@selector(radioSelected:) forControlEvents:UIControlEventTouchUpInside];
             [self.yourButton setTag:baseradioTag+f];

             NSLog(@"%ld",(long)self.yourButton.tag);

             [RadioView addSubview:self.yourButton];

             radio_y = radio_y +(verticalPadding+5);
                          }
  -(void)radioSelected:(UIButton*)sender {

int tag =sender.tag;
NSLog(@"buttonSelectedtag:%d",tag);

sender.selected = !sender.selected;
self.yourButton = sender;
}

我确实喜欢这个,但如果我触摸按钮,按钮不会变为所选图像。

【问题讨论】:

  • Cocoa 还是 Cocoa Touch?你有没有尝试过?
  • 请看我上面的更新代码

标签: ios objective-c radio-button


【解决方案1】:
-(void)radioSelected:(UIButton*)sender {

     int tag =sender.tag;
     NSLog(@"buttonSelectedtag:%d",tag);

     sender.selected = !sender.selected;
     self.yourButton = sender;

     for (UIButton *i in self.view.subviews){
          if([i isKindOfClass:[UIButton class]]){
              UIButton *btn = (UIButton *)i;
              if(btn.tag == previouslySelectedTag){ //hold previouslySelectedTag, selectedTag globally 
                // Write your code. Change Button Image
              }
          }
      }
      previouslySelectedTag = sender.tag;
}

【讨论】:

  • 当我只迭代 self.view.subView 时,我得到了标签和 scrollview。我没有得到 unbutton
  • 用 RadioView 替换 self.view。
猜你喜欢
  • 2010-09-13
  • 1970-01-01
  • 2011-07-28
  • 1970-01-01
  • 2013-02-03
  • 2013-03-09
  • 2011-01-01
  • 2021-01-01
  • 1970-01-01
相关资源
最近更新 更多