大佬教程收集整理的这篇文章主要介绍了ios – UITextView – addSubview – Autolayout,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
>我创建了UITextView的子类并添加了子视图v1.
>我正在使用Autolayout,所以我尝试添加用于定位子视图v1的约束.
错误:
它会引发以下错误:
由于未捕获的异常’NSInternalInconsistencyException’而终止应用程序,原因:’执行-layoutSubviews后仍需要自动布局.
尝试:
>我尝试在layoutSubviews中创建约束,但我得到了同样的错误
目的
题:
为了完整性,我正在回答它.
概述:
在UITextView上添加子视图然后使用Autolayout似乎有些麻烦.
解:
所以解决方案是将HazeView创建为UITextView父视图的子视图.
脚步:
>创建一个UITextView
>创建一个HazeView(来自UIView的子类)
>将uITextView和HazeView作为子视图添加到同一父视图中
>将HazeView放在UITextView的底部
>确保HazeView的背景颜色为[UIColor clearColor]
>禁用HazeView上的用户交互
>最好创建一个UIView的子类,并将uITextView和HazeView放在其中,以便它可以重用
创建HazeView:
self.hazeView.BACkgroundColor = [UIColor clearColor];
HazeView是UIView的子类
- (void)drawRect:(CGRect)rect { CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); CGContextRef context = UIGraphicsGetCurrentContext(); UIColor *color1 = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.25]; UIColor *color2 = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.5]; UIColor *color3 = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.75]; NSArray *gradientColors = @[(id) color1.CGColor,(id) color2.CGColor,(id) color3.CGColor]; CGFloat gradientLOCATIOns[] = {0,0.50,1}; CGGradientRef gradient = CGGradientCreateWithColors(colorSpace,(__bridge CFArrayRef) gradientColors,gradientLOCATIOns); CGPoint startPoint = CGPointMake(CGRectGetMidX(rect),CGRectGetMinY(rect)); CGPoint endPoint = CGPointMake(CGRectGetMidX(rect),CGRectGetMaxY(rect)); CGContextDrawLinearGradient(context,gradient,startPoint,endPoint,0); CGGradientRelease(gradient); }
以上是大佬教程为你收集整理的ios – UITextView – addSubview – Autolayout全部内容,希望文章能够帮你解决ios – UITextView – addSubview – Autolayout所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。