iphone - 禁用 MFMailComposeViewController 上的编辑
<p><p>我们有一个业务规则,我们需要限制在 MFMailComposeViewController 上编辑电子邮件正文内容。内容将被预先填充并且需要保持静态。是否可以抓取 UITextView 对象并将其设置为禁用或类似的东西? </p>
<p>另一个想法是在 UITextView 的顶部显示一个清晰的 View 以防止任何交互。 </p>
<p>有什么想法吗?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>好的,所以是的,答案是<em>不使用私有(private) API 是不可能的</em>。</p>
<p>我设法用下面的代码做到了。</p>
<pre><code>- (void) getMFComposeBodyFieldViewFromView:(UIView *)view {
for (UIView *item in view.subviews) {
if ([[ description] isEqualToString:@"MFComposeTextContentView"]) {
self.mailBodyView = item;
break;
}
if( > 0) {
;
}
}
}
</code></pre>
<p>然后调用上述方法,使其设置ivar <code>mailBodyView</code>,然后在<code>MFComposeBodyField<code>UIWebDocumentView</code>上调用<code>_setEditable:</code>方法</code> 继承自。</p>
<pre><code>;
;
</code></pre>
<p>这会导致正文中的内容无法编辑,交互有点奇怪,因为键盘仍然出现,您仍然可以移动光标并选择内容,但它肯定会阻止用户编辑。 </p>
<p><strong>更新</strong></p>
<p>我更新了代码以查找 <code>MFComposeTextContentView</code>,它是 <code>MFComposeBodyField</code> 的父级,我在该对象上调用 <code>setEditable:</code> 来阻止键盘从出现,更好的解决方案!</p></p>
<p style="font-size: 20px;">关于iphone - 禁用 MFMailComposeViewController 上的编辑,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/4786999/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/4786999/
</a>
</p>
页:
[1]