具有边到边排除路径的UiTextView会导致所有文本消失
我有一个UITextView
,我想为它添加一个自定义UIView
,并使文本在上下流动,如下所示:
+----------------+ |------txt-------| | | | UIView | | | |------txt-------| |----------------| |----------------| +----------------+
我尝试通过添加具有UITextView
宽度和UIView
高度的排除路径来实现此目的:
CGRect exclusionFrame=CGRectMake(0, CGRectGetMinY(element.frame), self.textView.textContainer.size.width, CGRectGetHeight(element.frame)); self.textView.textContainer.exclusionPaths=@[[UIBezierPath bezierPathWithRect:exclusionFrame]];
但由于某些原因,如果排除路径的宽度等于textView的宽度,则UIView
(aka element
)下面的所有文本都会消失。 当我将排除路径的宽度减少一个时,文本在UiView
旁边显示一个单字母列,如下所示:
+----------------+ |------txt-------| |a | |d UIView | |e | |------txt-------| |----------------| |----------------| +----------------+
为什么我不能创建边缘到边缘排除路径,是否有办法绕过这种困境?
我遇到了同样的问题,幸运的是我只是在进行\ n \ r \ n \ r来解决它。 作弊我知道,但它的工作原理。
它最终成为了故事板。 我只从视图中取出UiTextView并以编程方式初始化它似乎解决了问题:
-(void) viewDidLoad{ self.textView=[[UITextView alloc] init]; self.textView.translatesAutoresizingMaskIntoConstraints=NO; [self.view addSubview:self.textView]; NSDictionary* views = @{@"textView": self.textView}; NSArray* vContrains=[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-50-[textView]-50-|" options:NSLayoutFormatAlignAllLeft metrics:nil views:views]; NSArray* hContrains=[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-50-[textView]-50-|" options:NSLayoutFormatAlignAllLeft metrics:nil views:views]; [self.view addConstraints:vContrains]; [self.view addConstraints:hContrains]; }
textView.textContainer.lineFragmentPadding = 0 textView.textContainerInset = UIEdgeInsetsZero textView.contentInset = UIEdgeInsetsZero
可能会有所帮助。
- 搜索文本字段在iOS 11上的搜索栏中错误放置
- IOS中最好的数据encryptionalgorithm是什么?
- 与Xcode 6和(可能)cocoapodsbuild立错误
- Alamofire无法正常工作 – Tuple发行不同数量的元素
- 如何在Xamarin iOS中使用蓝牙低功耗协议发布制造商特定的数据?
- iOS中有NSDecimalNumber的错误十进制分隔符
- Firebase身份validation(使用自定义令牌,适用于Linkedin)返回一个没有电子邮件和没有数据的用户(仅限于uid)
- Xcode 6 iOS 8 UIImage图像从捆绑问题命名
- 没有这样的文件或目录的文件—– stdarg.h和float.h?