1

スクロールビューのサブビューであるインターフェースビルダーで作成された UIView があります。UIView にはボタンとラベルが含まれています。このビューをクッキーカッターとして使用したいので、スクロールビューで隣り合わせに配置されたこのビューのさまざまなインスタンスを生成できます

これはプログラムで実行できますが、プログラムでビュー サイズとサブビューをプログラムで定義する必要があることを意味します。インターフェイス ビルダーでビューの 1 つのインスタンスを定義して、レイアウトし、プログラムでこのビューのコピーを作成できるようにすることをお勧めします。 . 目標は、レイアウトの定義に可能な限り interfacebuilder を使用して、記述する必要のあるコードを減らすことです。

4

2 に答える 2

1

これを処理するために UIView カテゴリを作成しました。

@interface UIView (JLTDeepClone)
- (id)deepClone;
@end

@implementation UIView (JLTDeepClone)
- (id)deepClone
{
    NSMutableData *data = [NSMutableData data];

    NSKeyedArchiver  *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
    [archiver encodeObject:self forKey:@"view"];
    [archiver finishEncoding];

    NSKeyedUnarchiver  *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
    UIView *result = [unarchiver decodeObjectForKey:@"view"];
    [unarchiver finishDecoding];

    return  result;
}
@end
于 2013-03-27T01:42:24.160 に答える
0

Entity Framework を見てください。探しているもののように聞こえ、コード行を減らすのに役立つはずです

http://msdn.microsoft.com/en-US/data/ef

于 2013-03-27T01:32:54.750 に答える