在iOS 13上,我无法再将---
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous"><link rel="stylesheet" href="https://widget.cop.co/css/cop.css?v=1569320935042" crossorigin="anonymous"> sdk.js:1030:11
---
<div class="consultation"><div class="consultation-logged-in"></div><div class="consultation-header"></div><div class="propositions"></div><div class="proposition-send"></div><div class="consultation-footer"></div></div> sdk.js:1031:11
---
#12 Getting consultation...
---
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous"><link rel="stylesheet" href="https://widget.cop.co/css/cop.css?v=1569320935042" crossorigin="anonymous"> sdk.js:1030:11
---
<div class="consultation"><div class="consultation-logged-in"></div><div class="consultation-header"></div><div class="propositions"></div><div class="proposition-send"></div><div class="consultation-footer"></div></div> sdk.js:1031:11
---
属性与rightView
一起使用。我是唯一对此有疑问的人吗?
右视图宽度覆盖整个文本字段:防止用户交互并隐藏textView内容。
从MDCTextField
切换到MDCTextField
时没问题。
答案 0 :(得分:14)
将宽度 constraint
添加到rightView
/ leftView
。
别忘了设置translatesAutoresizingMaskIntoConstraints = false
rightView.translatesAutoresizingMaskIntoConstraints = false
rightView.widthAnchor.constraint(equalToConstant: <#NeededWidth#>).isActive = true
// This is enough to make it act like before but you can set other missing constraints like height to suppress layout warnings and prevent further issues.
// rightView.widthAnchor.constraint(equalToConstant: <#HeightOfTheTextField#>).isActive = true
您可能会在领事中注意到一些自动布局警告,因为您没有为rightView
/ leftView
设置缺少约束。因此,添加缺少的约束或直接忽略这些约束。
请注意,如果rightView
/ leftView
是某种StackView
,请尝试将其放在view
中,然后添加此视图。
答案 1 :(得分:2)
显然,这是rightViewRect(forBounds:)
在iOS 13 Beta 5中的行为方式的变化。
来自iOS & iPadOS 13 Developer Beta 5 Release Notes:
UIKit-已解决的问题
在iOS 13之前,UITextField假定在分配时已正确设置其leftView和rightView的帧,并且不会更改。从iOS 13开始,leftViewRect(forBounds :)和rightViewRect(forBounds :)的实现现在向视图询问其systemLayoutSizeFitting( :)。要实现与iOS 13链接并在iOS 13上运行时的先前行为,请在视图上添加显式的大小限制,将其包装在纯UIView中,或将视图子类化并实现systemLayoutSizeFitting( :)。 (51787798)
MDCTextField -(CGRect)rightViewRectForBounds:(CGRect)bounds
函数需要更新。