2011-09-29 96 views
0

首先我要感谢所有试图帮助我解决问题的人,我是iOS开发新手,特别是Objective-C,所以如果我的问题非常明显,我很抱歉。活动指示器IOS使用问题

我正在加载一些新的数据的应用程序(从网站分析,但它不是一个UIWebView)到同当前视图每次用户更改在选择器视图(UIPickerView)的选择时间。将此新数据插入当前视图的方法称为-(IBAction) getNewData: (id) sender

每次用户使用选取器进行新选择时,都会调用getNewData。这就是它在选取器方法和选取器以及其他一切工作正常的情况下被调用的方式。

- (void)pickerView:(UIPickerView*)pickerView 
     didSelectRow:(NSInteger)row 
     inComponent:(NSInteger)component 
{ 
    NSString *choosen; 
    choosen = [currentLottoNames objectAtIndex:row];  
    [self getNewData:choosen]; 
} 

我想实现为加载时间的活动的指标(旋转器)在其之间的时间在用户进行/改变他对卷轴的时间选择在后视图中的实际数据显示,高达用户已经在滚动条上进行了选择。我将如何去实施这个?

谢谢。

回答

2

要证明你正在通过内置在状态栏使用

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES; 

苹果访问信息的用户。如果你想显示像你需要在头一个

声明一个弹出消息
UIAlertView *load_message; 

,然后当你想显示load_message使用

load_message = [[UIAlertView alloc] initWithTitle:@"Loading..." message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:nil]; 
    [load_message show]; 
    UIActivityIndicatorView *active = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 
    active.center = CGPointMake(load_message.bounds.size.width/2, load_message.bounds.size.height - 40); 
    [active startAnimating]; 
    [load_message addSubview:active]; 

和无线会显示一个弹出窗口,向用户显示您正在加载的东西。这是为了锁定屏幕,向用户显示您正在获取某些信息。

+0

好吧我想出了它放在哪里,但不幸的是它导致我回到我原来的问题。尽管如此,这个盒子非常漂亮。所以问题在于当数据已经加载时,加载指示符即将出现,而用户在选择器中选择不同的值时立即加载数据。当用户在选取器上选择不同的值时,大约会有3秒的延迟,然后显示内容。在这大约3秒钟内,我希望当时的编码出现,而不是在数据实际加载的同时。谢谢 – Teddy13

+0

嗯。你是否在pickerDidChange方法中显示load_message?另外我会在iPhone Developer上再聊20分钟,如果你还在:) – Tony

+0

对不起托尼我无法继续下去:(这是什么pickerDidChange方法?我似乎无法在任何地方找到它,即使在文档中(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)组件?再次感谢(uipickerview)。我感觉如果这个方法存在,那么它正是我可能需要的,除非你指的是方法 - (void)pickerView: ! – Teddy13