在iOS应用程序中,我有250x85pt UIView。我希望它有基于图像的平铺背景。原始图像为398x398像素。我希望我的图像能够平铺。
当我运行应用程序时,我的图像会拼贴,但由于某种原因,它按如下方式缩放:
我使用以下代码来实现它:
var image = UIImage(contentsOfFile: "myfilepath.png")!
var uicolor = UIColor(patternImage: image)
uiview.backgroundColor = uicolor
你可以解释一下吗?
1.为什么ios会缩放我的图像,以及
2.如何在不缩放的情况下绘制平铺图像?
答案 0 :(得分:6)
基本上图像比$(document).ready(function(){
$('input').on('keypress', function(e) {
if(e.which == 13) {
switch($(this).attr('id')){
case 'txt1':
$('#txt2').focus();
e.preventDefault();
break;
case 'txt2':
$('#txt3').focus();
e.preventDefault();
break;
}
}
});
});
大。当你给UIView
时,它使用1倍大小的图像。
我们通常笔记本电脑的图像按其宽高比缩放到窗口大小。
然后根据您的要求缩放图像,然后将其应用为背景图像。
答案 1 :(得分:5)
为了扩展Banto的答案,问题是您的视图是250x85点,在视网膜设备上实际上是500x170像素。当您的x1图像变为图案时,它将在点级别应用。通过在图像上设置刻度以匹配设备上的刻度,可以轻松更改问题:
let view = UIView(frame: CGRect(x: 0, y: 0, width: 250, height: 85))
let image = UIImage(named: "myfilepath.png")!
let scaled = UIImage(CGImage: image.CGImage, scale: UIScreen.mainScreen().scale, orientation: image.imageOrientation)
view.backgroundColor = UIColor(patternImage: scaled!)
答案 2 :(得分:0)
试试这个
self.mainView.layer.contents = (id)[UIImage imageNamed:@"CROPNET.png"].CGImage;