2016-07-01 2 views
0

Я намерен использовать следующие строки кода, чтобы добавить «круговой обзор»:Создание 100% круглый UIView/UIImageView

_myBackView = [[UIView alloc] initWithFrame:rect]; 
_myBackView.backgroundColor = [UIColor colorWithR:153 G:85 B:57 alpha:1.0]; 
_myBackView.layer.cornerRadius = artworkViewWidth/2; 
_myBackView.layer.masksToBounds = YES; 
_myBackView.layer.borderWidth = 0; 
_myBackView.clipsToBounds = NO; 
[self.view addSubview:_myBackView]; 

мнение создается хорошо и кажется в основном раунде. Но проблема в том, что это не похоже на «100% раунд» - четыре края, кажется, немного обрезаны, хотя у меня было свойство clipsToBounds равным NO.

Любое руководство будет оценено по достоинству.

EDIT: только что добавил изображение для воспроизведения. Обратите внимание на 4 края, которые были обрезаны. repro picture

+0

Помогло бы иметь изображение, с которым вы тестируете. Кроме того, является ли изображение квадратом? – CodeBender

+0

Пожалуйста, включите вычисления для 'rect'. Этот прямоугольник должен иметь значение 'width == artworkViewWidth' для правильного радиуса угла. Если это так, то представление сформирует идеальный круг. – danh

+0

@CodeBender благодарит за ответ. Я включил экранный снимок. Я пока не показываю изображение прямо сейчас, но просто проверяю материал cornerRadius с UIView напрямую. –

ответ

0

Вы можете попробовать это (используйте круг детские маски слоя)

- (void)useMaskFor: (UIView*)colorArea { 

    CALayer *maskLayer = [CALayer layer]; 
    maskLayer.frame = colorArea.bounds; 
    UIImage *maskImage = [UIImage imageNamed:@"cirMask.png"]; 
    maskLayer.contents = (__bridge id)maskImage.CGImage; 
    colorArea.layer.mask = maskLayer; 
} 

Ответил из этого How to draw a custom UIView that is just a circle - iPhone app

0
_image.layer.cornerRadius = _image.frame.size.height/2; 

_image.layer.masksToBounds = YES; 

попробовать код, указанный выше.

+0

Это работает. Благодарю. –

+0

Yep Fine ....... Jack – remyr3my

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