我有一个圆形视图,用作对象的调整大小,但是它的颜色有点占主导地位,因此我决定向该视图添加一个子视图,然后给内部视图上色,以使视图面积保持不变,同时减小颜色优势。

UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 75, 75)];
            UIView *innerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 50,  50)];
            [view addSubview:innerView];
            view.layer.cornerRadius = CGRectGetWidth(view.frame) * 0.5;
            view.backgroundColor = [UIColor clearColor];
            innerView.alpha = 0;
            //view.backgroundColor = [UIColor colorWithWhite:1 alpha:0.8];
            innerView.backgroundColor = [UIColor colorWithHexString:@"#866BFF"];
            innerView.layer.cornerRadius = CGRectGetWidth(view.frame) * 0.5;
            innerView.layer.borderColor = [UIColor colorWithWhite:1 alpha:0.8].CGColor;
            innerView.layer.borderWidth = 2;
            innerView.center = view.center;
            [view bringSubviewToFront:innerView];
            [self setGestureRecognizer:view];

            [arr addObject:view];


调整大小效果很好,因此可以添加视图,但是内部视图的颜色不可见。如果我将主视图颜色更改为红色等,则效果很好。

我不知道为什么未添加innerView。

最佳答案

@SritejaC您的内部视图不可见,因为您的Alpha为0更改为1

innerView.alpha = 1;

及其作品!!

07-26 09:37