2016-07-27 2 views
0

Мне нужно создать UIView в круглой форме и показать текст ниже этого. Я создал круг успешно. Но есть ли способ добавить ярлык ниже этого круга. Мне нужно отобразить много кругов с текстом. Ниже мой код круга и прикрепление - это экран, который мне нужно создать. enter image description hereКак вставить UILabel под подвью UIView в iOS

- (UIView*)createCircleViewWithRadius 
{ 
    // circle view 
    UIView *circle = [[UIView alloc] initWithFrame:CGRectZero]; 
    circle.translatesAutoresizingMaskIntoConstraints = NO; 
    circle.layer.cornerRadius = 50; 
    circle.layer.masksToBounds = YES; 

    // border 
    circle.layer.borderColor = [UIColor lightGrayColor].CGColor; 
    circle.layer.borderWidth = 1; 

    // gradient background color 
    CAGradientLayer *gradientBg = [CAGradientLayer layer]; 
    gradientBg.frame = circle.frame; 
    gradientBg.colors = [NSArray arrayWithObjects: 
         (id)[UIColor clearColor].CGColor, 
         (id)[UIColor clearColor].CGColor, 
         nil]; 
    // vertical gradient 
    gradientBg.locations = [NSArray arrayWithObjects: 
          [NSNumber numberWithFloat:0.0f], 
          [NSNumber numberWithFloat:1.0f], 
          nil]; 

    // gradient background 
    CALayer *layer = circle.layer; 
    layer.masksToBounds = YES; 
    [layer insertSublayer:gradientBg atIndex:0]; 

    return circle; 
} 
+0

Пожалуйста, перейдите по этой ссылке, ответ на ваш вопрос уже есть: http://stackoverflow.com/questions/10051514/how-can-i-insert-a-subview -below-the-other-subviews – Aamir

ответ

0

сделать как

UILabel *yourItemlabel = [[UILabel alloc]initWithFrame:CGRectMake(yourView.frame.origin.x + 10, yourView.frame.origin.y + yourView.frame.size.height + 10 , yourView.frame.size.width, 30)]; // customize the height 
yourItemlabel.text = @"Request funds"; 
yourItemlabel.textAlignment = NSTextAlignmentCenter; 
[sel.view addSubview:yourItemlabel]; 
+0

- (UILabel *) createViewLabel: (UIView *) текст вида: (NSString *) labelText { UILabel * labelCon = [UILabel new]; labelCon.frame = CGRectMake (view.frame.origin.x-15, view.frame.origin.y + view.frame.size.height, view.frame.size.width + 30, 35); labelCon.text = labelText; labelCon.numberOfLines = 0; labelCon.backgroundColor = [UIColor clearColor]; labelCon.font = [UIFont fontWithName: @ "Roboto-Regular" размер: 12]; labelCon.textColor = [UIColor darkGrayColor]; labelCon.textAlignment = NSTextAlignmentCenter; return labelCon; } – Kashif

0

Вы можете сделать что-то подобное,

UIView *containerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 170, 200)]; 


UIView *circle = [[UIView alloc]initWithFrame:CGRectMake(10, 10, 150, 150)]; 

UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 170, 150, 30)]; 
label.text = @"Request funds"; 
label.textAlignment = NSTextAlignmentCenter; 

circle.layer.borderColor = [UIColor lightGrayColor].CGColor; 
circle.layer.borderWidth = 1.0; 
circle.layer.cornerRadius = 75; // width or height/2 and width = height (must for proper round shape) 
circle.layer.masksToBounds = YES; 

[containerView addSubview:circle]; 
[containerView addSubview:label]; 

[self.view addSubview: containerView]; 

Вы можете изменить размер и происхождение согласно вашей потребности. это демонстрация того, как вы можете это достичь.

Надеюсь, это поможет!

Смежные вопросы