2014-11-10 3 views
-1

Мне нужно нарисовать прямоугольник поверх UIButton. Предположим, что есть UIButton, называемый hideMe, и эта кнопка имеет размер 100x50. Я хочу поместить прямоугольник 100x10 поверх этой кнопки каждый раз, когда пользователь получает сообщение. Если пользователь получает пять сообщений, кнопка будет полностью закрыта прямоугольниками. Как мне это сделать?iOS: программно нарисуйте прямоугольник над кнопкой

+0

Вы можете нарисовать прямоугольник _in_ в качестве фонового изображения кнопки. Если вы действительно хотите кнопку _cover_, просто поставьте перед ним изображение и нарисуйте изображение прямоугольника и покажите его. – matt

+0

Что делать, если мне нужно нарисовать неопределенное число таких прямоугольников, чтобы накрыть кнопку? Кнопка уже имеет фоновое изображение, поэтому использование фонового изображения не будет работать, если не будет способа разместить фоновые изображения перед уже существующим. –

+0

Этот вопрос более конкретный и имеет скриншоты: http://stackoverflow.com/questions/26826244/modifying-a-table-cell. Каждая ячейка таблицы является кнопкой. –

ответ

0
CALayer *topBorder = [CALayer layer]; 
topBorder.borderColor = [UIColor redColor].CGColor; 
topBorder.backgroundColor = [UIColor blackColor].CGColor; 
topBorder.borderWidth = 2; 
topBorder.frame = CGRectMake(0, 15, <tempButton>.frame.size.width, <tempButton>.frame.size.height-30); 
[<tempButton>.layer addSublayer:topBorder]; 

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

0

попробовать этот

#import <QuartzCore/QuartzCore.h> 

здесь мы рисуем нашу собственную границу прямоугольник и просмотра суб его в нашу кнопку

-(UIView*)borderRectWithYvalue:(CGFloat)yValue 
{ 
    UIView * rect = [[UIView alloc] initWithFrame:CGRectMake(0,yValue, 100, 10)]; 
    rect.backgroundColor = [UIColor lightGrayColor]; 
    rect.layer.borderColor = (__bridge CGColorRef)([UIColor redColor]); 
    rect.layer.borderWidth = 2.0f; 
    return rect; 
} 

и вызвать этот метод, когда и где вы хотите добавить рамку к кнопке с пользовательской y значение

для экс

[yourButton addSubview:[self borderRectWithYvalue:10.0]];

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