UITextfield 中的图像的点数有多大
Posted
技术标签:
【中文标题】UITextfield 中的图像的点数有多大【英文标题】:How big in points is an imag in a UITextfield 【发布时间】:2015-06-17 06:27:21 【问题描述】:我有一个像这样的UITextfield
:
UITextfield *name = [[UITextField alloc] initWithFrame:CGRectMake(30, 210, 100, 34)];
name.borderStyle = UITextBorderStyleRoundedRect;
name.backgroundColor = [UIColor whiteColor];
name.font = [UIFont systemFontOfSize:12];
name.leftView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon.png"]];
如果我有以下UITextfield
设置,UIImage
应该是多少分?它是 34 x 34 还是更小一点?我知道,如果是 34 点乘 34 点,我将不得不为x
制作.png
s 34x34、68x68 和 92x92, 2x
和 3x
像素显示。
【问题讨论】:
使用initWithFrame
添加它对我来说似乎更安全。
【参考方案1】:
来自documentation:
The left overlay view is placed in the rectangle returned by the
leftViewRectForBounds: method of the receiver. The image associated
with this property should fit the given rectangle. If it does not fit,
it is scaled to fit. If you specify a control for your view, the
control tracks and sends actions as usual.
这意味着你可以改变leftView的大小。
在 ios 8.3 上,“leftViewRectForBounds:”值基于 leftView 的大小。如果我使用大小为 300x300 的 leftView,那么框架将为 (0, -125, 300, 300)。如果我使用大小为 30x30 的视图,则框架将为 (0, 10, 30, 30)。 我的 textField 的一个框架是 (0.0, 0.0, 300.0, 50.0)。
【讨论】:
这是正确的答案。 @AndrewRomanov 还请添加指向您引用的文档的链接。 我已添加文档链接。【参考方案2】:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon.png"]];
它的框架将是x=0
,y=0
,width = width of the image
,height = height of the image
【讨论】:
【参考方案3】:您可以根据您的要求设置任何分辨率的任何图像。还请在代码的最后一行之前添加以下行,以使图像可见。
[name setLeftViewMode:UITextFieldViewModeAlways];
【讨论】:
以上是关于UITextfield 中的图像的点数有多大的主要内容,如果未能解决你的问题,请参考以下文章