码迷,mamicode.com
首页 > 移动开发 > 详细

IOS第四天(6:答题区按钮点击和乱序)

时间:2015-07-30 18:48:51      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

 

#pragma mark - 答题区按钮点击方法
- (void)answerClick:(UIButton *)button
{
    // 1. 如果按钮没有字,直接返回
    if (button.currentTitle.length == 0) return;
    
    // 2. 如果有字,清除文字,候选区按钮显示
    // 1> 使用button的title去查找候选区中对应的按钮
    UIButton *btn = [self optionButtonWithTilte:button.currentTitle isHidden:YES];
    
    // 2> 显示对应按钮
    btn.hidden = NO;
    
    // 3> 清除button的文字
    [button setTitle:@"" forState:UIControlStateNormal];
    
    // 4> 只要点击了按钮上的文字,意味着答题区的内容不完整
    [self setAnswerButtonsColor:[UIColor blackColor]];
}

- (UIButton *)optionButtonWithTilte:(NSString *)title isHidden:(BOOL)isHidden
{
    // 遍历候选区中的所有按钮
    for (UIButton *btn in self.optionsView.subviews) {
        if ([btn.currentTitle isEqualToString:title] && btn.isHidden == isHidden) {
            return btn;
        }
    }
    return nil;
}



// 乱序
- (void)randamOptions
{
    // 对options数组乱序
    self.options = [self.options sortedArrayUsingComparator:^NSComparisonResult(NSString *str1, NSString *str2) {
        int seed = arc4random_uniform(2);
        
        if (seed) {
            return [str1 compare:str2];
        } else {
            return [str2 compare:str1];
        }
    }];
    NSLog(@"%@", self.options);
}
- (instancetype)initWithDict:(NSDictionary *)dict
{
    self = [super init];
    if (self) {
        [self setValuesForKeysWithDictionary:dict];
        
        // 对备选按钮进行乱序,只在加载的时候,做一次乱序
        [self randamOptions];
    }
    return self;
}

 

点击事件

@implementation HMViewController

/**
 不能够交互的
 
 alpha <= 0.01
 hidden = YES
 userInteraction = NO
 
 父视图不允许交互,也不能交互
 在父视图可见范围内,可以交互,范围之外不能交互
 */
- (IBAction)click {
    NSLog(@"%s", __func__);
}

@end

 

IOS第四天(6:答题区按钮点击和乱序)

标签:

原文地址:http://www.cnblogs.com/ios-g/p/4690132.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!