-6

如何将 my 转换NSString *myString = @"myUIView";为 UIView: myUIView 以便可以在代码中使用 UIView?

我有一个要更改为视图名称的字符串。

我想使用 NSString 中的视图名称更改视图,因此我的 Nsstring 可能设置为“self.view”,但每次使用 UIView transitionFromView 切换视图时我都会更改它:self.view toView :View2 持续时间:0.4 选项: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通过使用 aUILabel来显示UIView. 您不会“转换”NSStringUIView. 这NSString是一个需要使用UIView子类呈现的数据结构。

下面的代码会将您的字符串放在屏幕上。

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];

但实际上,正如迄今为止的三个答案所表明的那样,根本不清楚你是什么。你能说清楚一点吗?你想做什么?

于 2013-01-07T20:22:41.040 回答