-6

NSString *myString = @"myUIView";コードで UIView を使用できるように、どのように UIView: myUIViewに変換できますか?

ビューの名前に変更する文字列があります。

NSString にあるビューの名前を使用してビューを変更したいので、Nsstring が「self.view」に設定される可能性がありますが、UIView transitionFromView: self.view toViewを使用してビューを切り替えるたびに変更しています:View2 duration:0.4 options:UIViewAnimationOptionTransitionCrossDissolve 完了:^(BOOL 終了) {}

しかし、太字の部分を文字列形式ではない UIView の名前である文字列に置き換えるにはどうすればよいですか (機能しないため)

4

3 に答える 3

1

myUIViewたとえば、プロパティとして定義したと仮定します

@property (nonatomic, strong) IBOutlet UIView *myUIView;

-valueForKey:次に、次のように、メソッドを使用して文字列からアクセスできます。

[self valueForKey:@"myUIView"]
于 2013-01-07T20:21:42.543 に答える
0

を表示したい場合は、 のサブクラスである をNSString使用します。を に「変換」しません。は、サブクラスを使用してレンダリングする必要があるデータ構造です。UILabelUIViewNSStringUIViewNSStringUIView

以下のコードは、文字列を画面に表示します。

UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0,100,100)];
[myLabel setText:myString];
[self.view addSubview:myLabel];
于 2013-01-07T20:20:01.680 に答える
0

これにより、xib から読み込まれた UIViewController が取得されます。

    Class vcClass = NSClassFromString (@"myUIView");
    UIViewController *detailViewController = [[vcClass alloc] initWithNibName:@"myUIView" bundle:nil];

UIView オブジェクトが必要な場合は、次のようにします。

    UIView* myView = [[vcClass alloc] init];

しかし、実際には、これまでの 3 つの回答が示しているように、何をしているのかはまったく明確ではありません。もっと明確にできますか?あなたは何をしようとしているのですか?

于 2013-01-07T20:22:41.040 に答える