1

だから私は Xcode で PaintCode と StyleKits をいじっています。ボタンを作成し、独自のサブクラスで UIView を作成したところ、ViewController とデバイスに正常に表示されました。ただし、タップされたときにコードを実行したいので、この UIView を UIButton に変換したいと考えています。どうすればこれを行うことができますか?

みんなありがとう、そして良いものを持ってください:)

4

2 に答える 2

2

PaintCode の UIImage メソッドを使用し、その UIImage を UIButton の画像として使用します。これは私が使用するコードです。これは ObjC にありますが、Swift に簡単に変換できるはずです。

PaintCode の生成コード - 記述する必要のないもの (このクラスが PaintCodeClass と呼ばれているとします):

+ (UIImage*)imageOfIcon
{
   if (_imageOfIcon)
        return _imageOfIcon;

    UIGraphicsBeginImageContextWithOptions(CGSizeMake(30, 30), NO, 0.0f);
    [PaintCodeClass drawIcon];

    _imageOfIcon = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return _imageOfIcon;
}

と私のコード:

UIImage *image = [PaintCodeClass imageOfIcon];
UIButton *button = (initialize, set frame, etc)
[button setImage:image forState:UIControlStateNormal];

これが好きな人もいます:

[button setBackgroundImage:image forState:UIControlStateNormal];

そのすべての代わりに、本当にしたい場合は、次のことができます。

[button addSubview:whateverThePaintCodeViewIsCalled];

しかし、それはボタンのように振る舞わないので、おそらくそうしたくないでしょう。

于 2016-07-19T13:13:47.847 に答える