4

基本的に、私はその中に無制限の量の UIView を持つことができるビューを持っています。self.numberOfSections = 8私は、設定したりself.numberOfSections = 2、同じ数をそれぞれ生成したりして、操作できるようにしたいと考えていUIImagesます。

IBInspectible現在、2 つの numberOfSections または 100 numberOfSections がある場合でも、コードに多くの画像が表示されます。UIImagesどうにかして numberOfSections 番号に基づいて作成できるようにしたいと思います。

ロータリーホイールビュー

storyBoardInspect

ここで Number Of Sections を 2 に設定すると、ストーリー ボードに画像を設定できますが、他のすべての IBInspectable 要素も表示され、セクションが 2 つしかないため使用されません。必要なものだけを表示する方法はありますか? ストーリーボードに画像を設定したい。非常に多くの IBInspectables を持たないように、これをリファクタリングする方法はありますか?

これは、コードでプログラムによって生成されたさまざまなビューに画像を設定する方法です。

-(void)drawRect:(CGRect)rect

    for (int i = 0; i < self.numberOfSections; i++) {
       NSString *rotaryName = [NSString stringWithFormat:@"rotaryImage%d", i + 1];
       id rotaryNameValue = [self valueForKey:rotaryName];
       [self.sectorView setValue:rotaryNameValue forKey:@"image"];
    }
}
4

1 に答える 1

5

まず第一に、あなたのデザインパターンには欠陥があると言えます。多くのIBInspectable UIImageViewインスタンスがある場合は、おそらくIBOutletCollection.

第二に、あなたの求めることは不可能です。ストーリーボードからセクションの数を設定する単一のIBInspectable値型を作成し、UIImageViewその数からプログラムでオブジェクトを生成してみませんか?

@property (nonatomic, assign) IBInspectable int *sections;

インターフェイスビルダー

于 2016-05-06T12:35:36.753 に答える