我有一个应用程序,如果数据正在加载,我想让一个按钮无法点击。如果没有网络活动,则意味着由于已加载所有数据,因此该按钮应该是可点击的。
你可以在这里看到微调器。左上角。如果b.enabled = 0,if语句应该如何;是什么让按钮unlickabl并使它1可点击?
我该放什么 if()
答案 0 :(得分:1)
该微调器是你的微调器。你不能不知道它是否在旋转,因为你将它旋转。因此,没有必要问它是否正在旋转;你已经知道了。如果你已经设定它旋转它是旋转的,并且如果你已经停止它或者从未将它设置为旋转,它就不会旋转(并且不存在)。
那个微调器不知道“数据是否正在加载”的任何内容。知道这取决于你。它只是一个微调器。它没有智慧。
答案 1 :(得分:0)
if ([UIApplication sharedApplication]. isNetworkActivityIndicatorVisible){
//action if data is loading
}
答案 2 :(得分:0)
左上角你要找的是: [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; 当然使用 YES 来显示, NO 来隐藏。
然后我建议您使用AFNetworking作为您的请求,该请求具有成功和失败阻止,您可以轻松地使用它来启用或禁用您的UI。
示例:
//DISABLE YOUR UI INTERACTION HERE
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:@"http://example.com/resources.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
//ENABLE YOUR UI INTERACTION ONCE REQUEST IS DONE AND SUCCESSFUL
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
//ENABLE YOUR UI INTERACTION ONCE REQUEST IS DONE BUT FAILED
}];