【发布时间】:2014-02-24 21:42:18
【问题描述】:
我正在创建一个 iOS 应用程序,我需要根据 API 调用的结果显示不同的视图。目前我正在查询数据库,保存结果,然后使用该结果形成一个 IF 语句,在其中加载正确的视图,如下所示
CGRect rect = CGRectMake(180.0f, 24.0f, self.view.frame.size.width, self.view.frame.size.width);
JHView *myView = [[JHFewCloudsView alloc] initWithFrame:rect];
[self.view myView];
虽然这行得通,但它看起来很慢,就像一个简单任务的大量代码。有没有更好的方法来拥有多个视图?您可以在一个视图中使用多个- (void)drawRect:(CGRect)rect,然后调用您需要的相关的吗?
if ([icon isEqual: @"01d"])
{
CGRect rect = CGRectMake(180.0f, 24.0f, self.view.frame.size.width, self.view.frame.size.width);
JHSunView *sunView = [[JHSunView alloc] initWithFrame:rect];
[self.view addSubview:sunView];
} else if ([icon isEqualToString:@"02d"])
{
CGRect rect = CGRectMake(180.0f, 24.0f, self.view.frame.size.width, self.view.frame.size.width);
JHFewCloudsView *fewCloudsView = [[JHFewCloudsView alloc] initWithFrame:rect];
[self.view addSubview:fewCloudsView];
}
我现在的做法意味着我最终会得到 15 个不同的视图和非常混乱的代码。
【问题讨论】:
-
"
[self.view myView];" 对我来说看起来不正确。 “self.view = myView”大概是你的意思吧? -
显示
if代码。您可能想要使用查找表。但是您的实际问题目前还不是 100% 清楚...... -
查看更新@Wain 并没有 [self.view myView] 是正确的
标签: ios objective-c drawrect