正如标题所说,我正在尝试向UITextView添加类似填充的行为。当视图被推入我的导航控制器时,将生成textview,并出现以下代码:
self.textView.layer.cornerRadius = 7;
//pretty stuff is pretty
NSString *description = appDelegate.productInDisplay.description;
[self.textView setText:description];
//pretty stuff has content now
CGRect frame = textView.frame;
frame.size.height = textView.contentSize.height;
textView.frame = frame;
//set the UITextView to the size of it's containing text.
self.textView.editable = NO;
self.theScrollView.contentSize = CGSizeMake(320, 250 + textView.frame.size.height);
//set the parent scrollView's height to fit some other elements with fixed size (250)
//and the pre-mentioned UITextView
所以,这一切都工作,这是确定的,但我想添加一些填充的所有4个方面的UITextView和我一直无法做到这一点与3小时的谷歌搜索的东西似乎相当容易.有什么建议?
8条答案
按热度按时间aemubtdh1#
使用Objective-C我刚刚用
对于Swift,您可以用途:
您还可以创建Swift扩展(由chowdhury-md-rajib-sarwar建议)here:
}
然后使用
tf7tbtn22#
这个答案是完全错误的。正确的答案很简单:
(这些值通常与同一屏幕上UITextField的外观相匹配。)
用这个:
fhity93d3#
这在Swift 5中是有效的:
whhtz7ly4#
编辑日期:2015年1月16日这是在2012年编写的,现在已经不准确了。如上所述,请使用-textContainerInset。
使用contentInset实际上不会起作用。您有两个合理的选择:子类UITextField并覆盖textRectForBounds:和编辑边界的矩形:方法,或者在UIView上透明地创建文本字段并设置UIView的样式。
UITextField子类化示例:
将其 Package 在UIView中的示例:
6xfqseft5#
我在使用swift 2.0时就做到了这一点:
第一个月
pcrecxhr6#
对于Swift 4.2:
bxgwgixi7#
对于Swift 3 -答案似乎相似,但略有不同:
(实际上,我在UITuttonView中使用了上述方法,但由于它与UITextView中发布的答案非常接近,我认为(希望)它也适用于UITuttonView)
c2e8gylq8#
只需使用容器边缘插入创建
UITextView
的extension
,如下所示:像这样使用它: