Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 它不会被执行。如果您愿意,我们可以将for语句中的ui按钮更改为简单的UIView。我想您猜错了,可能会出现运行时错误。为UIView更改UIButton,然后选中[view isKindOf:[UIButton class]]可能更容易出错,嗯。@Vin_Ios_Objective C_Uibutton - Fatal编程技术网

Ios 它不会被执行。如果您愿意,我们可以将for语句中的ui按钮更改为简单的UIView。我想您猜错了,可能会出现运行时错误。为UIView更改UIButton,然后选中[view isKindOf:[UIButton class]]可能更容易出错,嗯。@Vin

Ios 它不会被执行。如果您愿意,我们可以将for语句中的ui按钮更改为简单的UIView。我想您猜错了,可能会出现运行时错误。为UIView更改UIButton,然后选中[view isKindOf:[UIButton class]]可能更容易出错,嗯。@Vin,ios,objective-c,uibutton,Ios,Objective C,Uibutton,它不会被执行。如果您愿意,我们可以将for语句中的ui按钮更改为简单的UIView。我想您猜错了,可能会出现运行时错误。为UIView更改UIButton,然后选中[view isKindOf:[UIButton class]]可能更容易出错,嗯。@Vinzzz同意。仅为以防万一而更改。只需更改操作顺序,即可跳过对每个按钮的currentButton检查。首先-取消选择全部,然后选择当前。最好为遵循此行为的按钮创建单独的数组,而不是遍历所有子视图。@ArtFeel您是对的。我们可以先取消选择所有


它不会被执行。如果您愿意,我们可以将
for
语句中的
ui按钮更改为简单的
UIView
。我想您猜错了,可能会出现运行时错误。为
UIView
更改
UIButton
,然后选中
[view isKindOf:[UIButton class]]
可能更容易出错,嗯。@Vinzzz同意。仅为以防万一而更改。只需更改操作顺序,即可跳过对每个按钮的currentButton检查。首先-取消选择全部,然后选择当前。最好为遵循此行为的按钮创建单独的数组,而不是遍历所有子视图。@ArtFeel您是对的。我们可以先取消选择所有按钮,然后再选择当前按钮。我将编辑答案。谢谢
for (UIView *tmpButton in bottomBar.subviews)
{
  if ([tmpButton isKindOfClass:[UIButton class]])
  {
       if (tmpButton.tag == 100800)
       {
           tmpButton.selected = YES;
           [tmpButton setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
           [tmpButton setTitleColor:[UIColor greenColor] forState:UIControlStateHighlighted];

       }else{

          tmpButton.selected = NO;
          [tmpButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
          [tmpButton setTitleColor:[UIColor redColor]  forState:UIControlStateHighlighted];
        }
    }
}
// Unselect all the buttons in the parent view
for (UIView *button in currentButton.superview.subviews) {
    if ([button isKindOfClass:[UIButton class]]) {
        [(UIButton *)button setSelected:NO];
    }
}

// Set the current button as the only selected one
[currentButton setSelected:YES];
@class MyCustomClass

@interface SomethingThatUsesMyCustomClass : UIViewController

@property (nonatomic, strong) MyCustomClass *mcc;

@end
#import "MyCustomClass.h"

@implementation SomethingThatUsesMyCustomClass

-(MyCustomClass *)mcc
{
   // whatever
}

@end
// Initialize buttonHolderArray
NSMutableArray *buttonHolderArray = [[NSMutableArray alloc] init];

// Create a button
CustomUIButton *newButton = [[CustomUIButton alloc] initWithFrame:CGRectMake(10, 10, 50, 30)];
newButton.tag = 1;
[newButton setImage:[UIImage imageNamed:@"newButtonUnselected" forControlState:UIControlStateNormal]];
[buttonHolderArray addObject:newButton];

// Create additional buttons and add to buttonHolderArray...
// using different numbers for their tags (i.e. 2, 3, 4, etc)

// Set customButtonArray property by iterating through buttonHolderArray
NSInteger buttonCount = [buttonHolderArray count];

for (int i = 0; i < buttonCount; i++)
{
   [[buttonHolderArray objectAtIndex:i] setCustomButtonArray:buttonHolderArray];
}
// Populate two arrays: one with selected button images and the other with
// unselected button images that correspond to the buttons index in the 
// customButtonArray
NSMutableArray *tempSelectedArray = [[NSMutableArray alloc] init];
[tempSelectedArray addObject:[UIImage imageNamed:@"newButtonSelected"]];
// Add the other selected button images...
// Set the property array with this array
[self setSelectedImagesArray:tempSelectedArray];

NSMutableArray *tempUnselectedArray = [[NSMutableArray alloc] init];
[tempUnselectedArray addObject:[UIImage imageNamed:@"newButtonUnselected"]];
// Add the other unselected button images...
// Set the property array with this array
[self setUnselectedImagesArray:tempUnselectedArray];

- (void)handleTap:(UIGestureRecognizer *)selector
{
    // Get the count of buttons stored in the customButtonArray, use an if-elseif
    // statement to check if the button is already selected or not, and iterate through
    // the customButtonArray to find the button and set its properties
    NSInteger buttonCount = [[self customButtonArray] count];

    if (self.selected == YES)
    {
        for (int i = 0; i < buttonCount; i++)
        {
            if (self.tag == i)
            {
                [self setSelected:NO];
                [self setImage:[[self unselectedImagesArray] objectAtIndex:i] forControlState:UIControlStateNormal];
            }
        }
    }
    else if (self.selected == NO)
    {
        for (int i = 0; i < buttonCount; i++)
        {
            if (self.tag == i)
            {
                [self setSelected:NO];
                [self setImage:[[self selectedImagesArray] objectAtIndex:i] forControlState:UIControlStateNormal];
            }
        }
    }

    for (int i = 0; i < buttonCount; i++)
    {
        if (self.tag != i)
        {
            [self setSelected:NO];
            [self setImage:[[self unselectedImagesArray] objectAtIndex:i] forControlState:UIControlStateNormal];
        }
    }
}
- (IBAction)selectedButton1:(id)sender {

if ([sender isSelected]) {
    [sender setSelected:NO];

    if (sender == self.button1) {
        [self.button2 setSelected:YES];
    }
    if (sender == self.button2) {
        [self.button1 setSelected:YES];
    }
}

else
{
    [sender setSelected:YES];

    if (sender == self.button1) {
        [self.button2 setSelected:NO];
    }
    if (sender == self.button2) {
        [self.button1 setSelected:NO];
    }

}
@property (weak) ViewController *ownerViewController ;
 [button bk_addEventHandler:^(id sender)
    {
        self.selectedButtonCallBackBlock(button);

    } forControlEvents:UIControlEventTouchUpInside];
__weak __typeof__(self) weakSelf = self;

self.selectedButtonCallBackBlock=^(MWCustomButton* button){
     __typeof__(self) strongSelf = weakSelf;
    strongSelf.currentSelectedButton=button;
      };
 ///Observing changes to the selected button
    [[RACObserve(self, ownerViewController.currentSelectedButton) distinctUntilChanged] subscribeNext:^(MWCustomButton *x) {
            self.selected=(self==x);
    }];
NSArray *arrView = self.view.subviews;
    for (UIButton *button in arrView) {
        if ([button isKindOfClass:[UIButton class]]) {
            [((UIButton *) button) setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        }
    }
[button1 setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];
-(void)buttonSelected:(id)sender{
    UIButton *currentButton = (UIButton *)sender;
    for(UIView *view in self.view.subviews){

        if([view isKindOfClass:[UIButton class]]){

            UIButton *btn = (UIButton *)view;
            [btn setSelected:NO];
        }
    }

    [currentButton setSelected:YES];

}
func buttonPressed(sender: UIButton) {
    for view in view.subviews {
        if view is UIButton && view != sender {
            (view as! UIButton).isSelected = false
        }
    }
    sender.isSelected = true
}
  //Deselect all tip buttons via IBOutlets

  button1.isSelected = false
  button2.isSelected = false
  button3.isSelected = false

  //Make the button that triggered the IBAction selected.
  sender.isSelected = true

  //Get the current title of the button that was pressed.
    let buttonTitle = sender.currentTitle!