我如何按颜色iOS对15个视图进行排序

用户名

我有15个具有随机颜色的视图,我需要按颜色对其进行排序。我单击红色上的排序按钮,它们的排列顺序是从红色到最多红色,因此需要在绿色和蓝色上进行。我怎样才能做到这一点?

这是我的ViewController

//
//  ViewController.m
//  FewView
//
//  Created by admin on 3/11/14.
//  Copyright (c) 2014 admin. All rights reserved.
//

#import "ViewController.h"
#import "RandomView.h"
@interface ViewController ()


@end



@implementation ViewController

@synthesize kol;
@synthesize sdvig1;
@synthesize sdvig2;
@synthesize myTextField;
@synthesize randView;
@synthesize redButton, greenButton, blueButton;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
       self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        kol=10;
    }
    return self;
}



-(void) viewWillAppear:(BOOL)animated{

    myTextField.delegate = self;
    kol=[[myTextField text] intValue];

}


- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    if ([self.myTextField.text isEqualToString:@""]) {

    } else
    {
    [self.myTextField resignFirstResponder];
    kol=[[self.myTextField text] intValue];

    [self removeView];
    [self createView];

    }

    return YES;

}



- (void)viewDidLoad
{

    [super viewDidLoad];

            myTextField = [[UITextField alloc] initWithFrame:CGRectMake(0, 20, self.view.frame.size.width/4, 30)];
            myTextField.backgroundColor=[UIColor yellowColor];
            [myTextField setKeyboardType:UIKeyboardTypeNumberPad];
            [self.view addSubview:myTextField];

    redButton = [[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width/4, 20, self.view.frame.size.width/4, 30)];
    redButton.backgroundColor=[UIColor redColor];
    [redButton addTarget: self
              action: @selector(redSort:)    forControlEvents: UIControlEventTouchUpInside];



    greenButton = [[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width/4*2, 20, self.view.frame.size.width/4, 30)];
    greenButton.backgroundColor=[UIColor greenColor];
    [greenButton addTarget: self
                  action: @selector(greenSort:)    forControlEvents: UIControlEventTouchUpInside];



    blueButton = [[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width/4*3, 20, self.view.frame.size.width/4, 30)];
    blueButton.backgroundColor=[UIColor blueColor];
    [blueButton addTarget: self
                  action: @selector(blueSort:)    forControlEvents: UIControlEventTouchUpInside];




    [self.view addSubview:redButton];
    [self.view addSubview:greenButton];
    [self.view addSubview:blueButton];



    [self createView];


}



-(void)createView{


    sdvig1=self.view.frame.size.width/(2*(kol+5));
    sdvig2=self.view.frame.size.height/(2*(kol+5));

    randView = [[RandomView alloc] initWithFrame:CGRectMake(0,self.myTextField.frame.origin.y+self.myTextField.frame.size.height, self.view.frame.size.width, self.view.frame.size.height-(self.myTextField.frame.origin.y+self.myTextField.frame.size.height)) count:kol sdvig:CGPointMake(sdvig1, sdvig2) vc:self];



    [self.view addSubview:randView];


   }


-(void) removeView{
    [randView removeFromSuperview];
}


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [myTextField resignFirstResponder];
    [self textFieldShouldReturn:myTextField];
    myTextField.text = @"";



}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}


-(IBAction)redSort:(id)sender{
    NSLog(@"red");
}


-(IBAction)greenSort:(id)sender{
    NSLog(@"gren");
}


-(IBAction)blueSort:(id)sender{
    NSLog(@"blue");
}



//-(void) sortMyView{
// //   randView = [[RandomView alloc] init];
//    [randView.myArray sortUsingComparator:^( obj1, randView obj2)]{
//        //  сравниваем два объекта
//        //  и возвращаем YES или NO
//        return YES;
//    }];
//}




-(UIColor *) randomColor
{
    CGFloat red =  (CGFloat)arc4random() / (CGFloat)RAND_MAX;
    CGFloat blue = (CGFloat)arc4random() / (CGFloat)RAND_MAX;
    CGFloat green = (CGFloat)arc4random() / (CGFloat)RAND_MAX;
    return [UIColor colorWithRed:red green:green blue:blue alpha:1.0];
}

@end

这是我的View Class

//
//  RandomView.m
//  FewView
//
//  Created by admin on 3/11/14.
//  Copyright (c) 2014 admin. All rights reserved.
//

#import "RandomView.h"
#import "ViewController.h"

@implementation RandomView
@synthesize randView;
@synthesize myArray;
- (id)initWithFrame:(CGRect)frame count:(NSInteger)kol sdvig:(CGPoint)sdvig vc:(ViewController*) delegat
{
    self = [super initWithFrame:frame];
    if (self)
    {
        if (kol>0) {
            [self setBackgroundColor:[delegat randomColor]];
            randView = [[RandomView alloc] initWithFrame:CGRectMake(sdvig.x, sdvig.y, self. frame.size.width-2*sdvig.x, self.frame.size.height-2*sdvig.y) count:--kol sdvig:CGPointMake(sdvig.x, sdvig.y) vc:delegat];



        [self addSubview:randView];


            myArray = [[NSMutableArray alloc]init];


                          [myArray addObject:randView];


            NSLog(@"color %@", delegat.randomColor);
          //  NSLog(@"obj %@", myArray);


           //     NSLog(@"view= %@", randView);
                          }
    }

    return self;
}






@end
卡林奇图

您可以像这样获得UIColor的组件:

CGFloat *components = CGColorGetComponents(color);

然后获取RGB值:

components[0],components[1],components[2]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我想按用户Android对我的列表视图进行排序

来自分类Dev

如何按名称对我的图像进行排序?

来自分类Dev

在表格视图的某个部分下,如何按字母顺序对一个项目进行排序?

来自分类Dev

如何按颜色对UIColors数组进行排序(例如,以ROYGBIV顺序)?

来自分类Dev

如何按字母顺序对列表视图进行排序

来自分类Dev

我如何按C中的字符对结构进行排序?

来自分类Dev

我如何按字典顺序对列表进行排序

来自分类Dev

PHP-如何按值对2个变量进行排序?

来自分类Dev

如何按两个因素对地图进行排序?

来自分类Dev

在一个视图中按日期对三个模型进行排序

来自分类Dev

我想按两个元素对列表进行排序,但是我超出了范围

来自分类Dev

我想按两个元素对列表进行排序,但是我超出了范围

来自分类Dev

如何让我的快速排序算法按升序和降序对数组进行排序?

来自分类Dev

我如何按组排序?

来自分类Dev

如何按特定标准对已经用mongodb排序的X个顶级文档进行排序?

来自分类Dev

如何在Rails视图中按字母顺序对列表进行排序

来自分类Dev

如何按子对象的属性对asp.net网格视图中的数据进行排序?

来自分类Dev

此代码用于按列对列表视图中的项目进行排序,但它是如何工作的?

来自分类Dev

iOS 有没有办法按 2 个值对 NSDictionary 的键进行排序?

来自分类Dev

我可以按2个键对对象列表进行排序吗?

来自分类Dev

在 Rails 中按下按钮后,如何使用排序的电影列表更新我的视图?

来自分类Dev

如何在R中对颜色进行排序

来自分类Dev

按颜色对ggplot facet_wrap进行排序?

来自分类Dev

如何从一个位置获取数组中多个位置的距离,并在iOS中按最近距离对该数组进行排序?

来自分类Dev

我有一个文本文件,其中3列用分隔:如何按第2列的最后2位对第二列进行排序?

来自分类Dev

按大多数视图对结果进行排序

来自分类Dev

按检查顺序对列表视图检查的项目进行排序

来自分类Dev

Android:在列表视图中按日期对列表项进行排序

来自分类Dev

如何根据ID对列表视图进行排序

Related 相关文章

  1. 1

    我想按用户Android对我的列表视图进行排序

  2. 2

    如何按名称对我的图像进行排序?

  3. 3

    在表格视图的某个部分下,如何按字母顺序对一个项目进行排序?

  4. 4

    如何按颜色对UIColors数组进行排序(例如,以ROYGBIV顺序)?

  5. 5

    如何按字母顺序对列表视图进行排序

  6. 6

    我如何按C中的字符对结构进行排序?

  7. 7

    我如何按字典顺序对列表进行排序

  8. 8

    PHP-如何按值对2个变量进行排序?

  9. 9

    如何按两个因素对地图进行排序?

  10. 10

    在一个视图中按日期对三个模型进行排序

  11. 11

    我想按两个元素对列表进行排序,但是我超出了范围

  12. 12

    我想按两个元素对列表进行排序,但是我超出了范围

  13. 13

    如何让我的快速排序算法按升序和降序对数组进行排序?

  14. 14

    我如何按组排序?

  15. 15

    如何按特定标准对已经用mongodb排序的X个顶级文档进行排序?

  16. 16

    如何在Rails视图中按字母顺序对列表进行排序

  17. 17

    如何按子对象的属性对asp.net网格视图中的数据进行排序?

  18. 18

    此代码用于按列对列表视图中的项目进行排序,但它是如何工作的?

  19. 19

    iOS 有没有办法按 2 个值对 NSDictionary 的键进行排序?

  20. 20

    我可以按2个键对对象列表进行排序吗?

  21. 21

    在 Rails 中按下按钮后,如何使用排序的电影列表更新我的视图?

  22. 22

    如何在R中对颜色进行排序

  23. 23

    按颜色对ggplot facet_wrap进行排序?

  24. 24

    如何从一个位置获取数组中多个位置的距离,并在iOS中按最近距离对该数组进行排序?

  25. 25

    我有一个文本文件,其中3列用分隔:如何按第2列的最后2位对第二列进行排序?

  26. 26

    按大多数视图对结果进行排序

  27. 27

    按检查顺序对列表视图检查的项目进行排序

  28. 28

    Android:在列表视图中按日期对列表项进行排序

  29. 29

    如何根据ID对列表视图进行排序

热门标签

归档