ios7.1 setButtonImage( setimage跟创建button不在一方法体中的情况)

来源:互联网 发布:unity3d raycast 编辑:程序博客网 时间:2024/06/07 06:05

在ios7.0及以前


+(id)getButton:(NSString *)selectImageName UnselectImageName:(NSString *)unselectImageName frame:(CGRect)frame

{

    NDTSelectButton *button = [NDTSelectButtonbuttonWithType:UIButtonTypeCustom];

    button.frame = frame;

    button.selectImageName  = selectImageName;

    button.unSelectImageName = unselectImageName;

    [button setBackgroundImage:[UIImageimageNamed:button.selectImageName]forState:UIControlStateNormal];

    [button setBackgroundImage:[UIImageimageNamed:button.selectImageName]forState:UIControlStateHighlighted];

    return button;

}


-(void)setIsSelected:(BOOL)isSelected

{

    _isSelected = isSelected;

    if (_isSelected)

    {

        [selfsetBackgroundImage:[UIImageimageNamed:self.selectImageName]forState:UIControlStateNormal];

        [selfsetBackgroundImage:[UIImageimageNamed:self.selectImageName]forState:UIControlStateHighlighted];

    }else

    {

        [selfsetBackgroundImage:[UIImageimageNamed:self.unSelectImageName]forState:UIControlStateNormal];

        [selfsetBackgroundImage:[UIImageimageNamed:self.unSelectImageName]forState:UIControlStateHighlighted];

    }

    

}

同时调用上述两个方法(setimage跟创建button不在一方法体中的情况),是可以正常给button添加图片和实现换图功能的 但是7.1就不行,只能在添加

self.enabled =NO;

    self.enabled = YES;

才能正常运行

具体代码如下

+(id)getButton:(NSString *)selectImageName UnselectImageName:(NSString *)unselectImageName frame:(CGRect)frame

{

    NDTSelectButton *button = [NDTSelectButton buttonWithType:UIButtonTypeCustom];

    button.frame = frame;

    button.selectImageName  = selectImageName;

    button.unSelectImageName = unselectImageName;

    [button setBackgroundImage:[UIImage imageNamed:button.selectImageNameforState:UIControlStateNormal];

    [button setBackgroundImage:[UIImage imageNamed:button.selectImageNameforState:UIControlStateHighlighted];

    return button;

}


-(void)getSelectButton:(NSString *)selectImageName UnselectImageName:(NSString *)unselectImageName frame:(CGRect)frame

{

//    NDTSelectButton *button = [NDTSelectButton buttonWithType:UIButtonTypeCustom];

    self.frame = frame;

    self.selectImageName  = selectImageName;

    self.unSelectImageName = unselectImageName;

    NSLog(@"button.selectImageName%@---%@",self.selectImageName,self.unSelectImageName);

}

具体原因未知
0 0