私の質問は、UIViewに画像を表示させることは可能ですか?もしそうなら、どのようにそれを行うのですか?私が見つけることができるのはcolorwithpatternImage
だけで、これはSwiftで動作しなくなりました。
現在使用しようとしているコードは次のとおりです。
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]];
回答ありがとうございます!
UIColor
documentation を参照してください。
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!)
になります。
私はこれを好む:
let backgroundImage = UIImageView(frame: UIScreen.mainScreen().bounds)
backgroundImage.image = UIImage(named: "background.png")
self.view.insertSubview(backgroundImage, atIndex: 0)
画像をbackgroundColorに設定すると、画像が少しぼやけてしまいます。
@ 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)
Imageviewのレイヤープロパティをしようとしている場合、次のようなものを使用する必要があります。
userProfilePic.layer.borderColor = UIColor(patternImage:UIImage(named: "yourimg.png")!).CGColor
上記のコードが機能するには、オプションのバインディングを追加する必要があります。以下に示すように、UIImageの後の感嘆符です。
view.backgroundColor = UIColor(patternImage: UIImage(named: "backgroundSection.png")!)
スイフト
self.view.backgroundColor = UIColor(patternImage:UIImage(named: "YourImage.png")!)
これはかなりの努力を要し、参照のためにキャプチャして渡しました。 Swiftでの生成と使用の完全な例については、以下を参照してください。
参考例
デモアプリ
コードの抜粋
デモでUIViewをテクスチャ化する方法を次に示します。完全なリストについてはコードを参照してください-
func genTexturedView(_ view:UIView) {
...
image.image = UIImage(named:"purple_example");
view.addSubview(image);
print("ViewController.genTexturedView(): Textured View added");
return;
}