我的问题是,是否有可能让UIView显示图像,如果有,我怎么做?我能找到的只是colorwithpatternImage
,它不再适用于swift。
我现在尝试使用的代码是:
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]];
提前感谢您的回答!
答案 0 :(得分:116)
在Swift中,你必须调用一个便利初始化器。这是因为在Swift中,所有返回其类实例的Objective-C类方法都成为了方便的初始化器。
以下是它在Swift中的表现:
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "background.png"))
+ (UIColor *)colorWithPatternImage:(UIImage *)image
返回一个UIColor
实例,因此它将成为Swift中的便利初始化程序。同样,UIImage imageNamed:
变为init(patternImage image: UIImage!)
。
答案 1 :(得分:8)
我更喜欢这个:
class ViewController: NSViewController
{
@IBOutlet var myView: NSView!
@IBOutlet var cellView: NSTableCellView! //ViewController is the file owner of the xib file
override func viewDidLoad()
{
super.viewDidLoad()
NSBundle(forClass: ViewController.self).loadNibNamed("Cell", owner: self, topLevelObjects: nil)
myview.addSubview(cellView)
cellView.layer?.borderColor = Color.blackColor().CGColor
cellView.layer?.borderWidth = 1
}
override func mouseDown(event: NSEvent)
{
let result = self.view.window?.makeFirstResponder(cellView.textField!)
print(result) //prints true
}
由于将图像设置为backgroundColor会使其模糊不清。
答案 2 :(得分:4)
编辑了@ User9527的回答。不知道为什么它被投了票..对我来说很棒。刚添加了我自己的自定义框架。
let frame = CGRectMake(10, 55, 45, 45)
let backgroundImage = UIImageView(frame: frame)
backgroundImage.image = UIImage(named: "bg_image")
self.view.insertSubview(backgroundImage, atIndex: 0)
答案 3 :(得分:1)
如果你正在尝试使用imageview的图层属性,你应该使用类似这样的东西
userProfilePic.layer.borderColor = UIColor(patternImage:UIImage(named: "yourimg.png")!).CGColor
答案 4 :(得分:1)
您必须为上述代码添加可选绑定才能生效。这是UIImage之后的感叹,如下所示。
view.backgroundColor = UIColor(patternImage: UIImage(named: "backgroundSection.png")!)
答案 5 :(得分:0)
这需要我付出相当大的努力,捕获并传递以供参考。请参阅下文,了解生成和使用swift的完整示例。
参考示例
演示应用
代码摘录
以下是演示中UIView的纹理,请参阅完整列表的代码 -
func genTexturedView(_ view:UIView) {
...
image.image = UIImage(named:"purple_example");
view.addSubview(image);
print("ViewController.genTexturedView(): Textured View added");
return;
}
答案 6 :(得分:0)
快速
self.view.backgroundColor = UIColor(patternImage:UIImage(named:“ YourImage.png”)!)