我想用一个微调器.但是,下面的代码不会显示微调器,我不知道为什么.如何使这项工作?顺便说一句,它是从我创建的提交按钮调用的.
//spinner declared in .h file
UIActivityIndicatorView *aSpinner;
//throw up spinner from submit btn we created
aSpinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:
UIActivityIndicatorViewStyleWhiteLarge];
[self.view addSubview:aSpinner];
[aSpinner release];
[aSpinner startAnimating];
//send blocking request
[request startSynchronous];
//get rid of spinner when finished delegate is fired
- (void)requestFinished:(ASIHTTPRequest *)request
{
NSLog(@"REQUEST FINISHED");
[aSpinner stopAnimating];
//[aSpinner release];
}
Run Code Online (Sandbox Code Playgroud) 是否可以在仍然动画时更改UIActivityIndicatorView的颜色?如果有人有这个问题,那么你可以建议我
所有
我试图UIActivityIndicator在viewdidappear方法上运行5秒钟.但我如何给活动指示器设定时间限制(5秒)?
这是代码 UIActivityIndicator
UIActivityIndicatorView *activityView=[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activityView.center=self.view.center;
[activityView startAnimating];
[self.view addSubview:activityView];
Run Code Online (Sandbox Code Playgroud) 我按一下按钮就会显示一个活动指示器视图,但它不想显示.如果我没有将它设置为隐藏,它会显示,当我尝试隐藏它时,它会隐藏.但如果它被隐藏,它将不再显示.
这是代码:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
loading.hidden = true
}
@IBAction func submit() {
loading.hidden = false
loading.startAnimating()
if chosenCategory == "" || txtName.text == "" || txtEmail.text == "" {
loading.stopAnimating()
loading.hidden = true
} else {
println("animation")
Run Code Online (Sandbox Code Playgroud)
无论如何,停止动画都有效,它可以隐藏,但无论我做什么,它似乎都跳过了loading.hidden = false直接打印消息.
可能会发生什么?
我正在尝试为每个集合视图单元格显示初始加载时间的活动指示器。cellForItemAtIndexPath但是,我尝试将其放入,但由于某种原因,它在单元格上方 20 像素处创建。
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = self.collectionView.dequeueReusableCellWithReuseIdentifier("AACollectionViewCell", forIndexPath: indexPath) as! AACollectionViewCell
let activityView = UIActivityIndicatorView(activityIndicatorStyle: .Gray)
activityView.center = cell.theImage.center
// Also tried
activityView.center = cell.contentView.center
activityView.startAnimating()
return cell
}
Run Code Online (Sandbox Code Playgroud)
正确的处理方法是什么?
编辑:我也试过这个,但它没有在任何地方创建 activityIndicator
let activityView = UIActivityIndicatorView(activityIndicatorStyle: .Gray)
activityView.center = cell.contentView.center
cell.contentView.addSubview(activityView)
Run Code Online (Sandbox Code Playgroud) uiactivityindicatorview ios uicollectionview uicollectionviewcell swift
我在我的 ViewController willAppear 方法中进行 API 调用,直到 API 响应完成我使用这个 showWait 和 hideWait 方法来显示和关闭活动指示器。但我遇到的问题是,在我的 ViewController 中,我有一个带有不同自定义单元格的表格视图,并且假设我在加载过程中一直点击单元格,一旦加载消失,它的所有操作都会被多次调用。下面是我用于显示和隐藏指示器的代码,我尝试将 userInteractionEnabled 设置为 false 但这没有用。此外,尝试了 beginIgnoringInteractionEvents,它在某种程度上有效,但如果你继续点击直到加载器消失,这也会失败。不知道如何从这里开始。任何帮助表示赞赏。
class func showWait() {
DispatchQueue.main.async {
UIApplication.shared.beginIgnoringInteractionEvents()
if let appdelegate = UIApplication.shared.delegate as? AppDelegate,
appdelegate.myIndicatorView == nil {
appdelegate.myIndicatorView = MyIndicatorView(frame: UIScreen.main.bounds)
appdelegate.window?.subviews[0].addSubview(appdelegate.myIndicatorView!)
}
}
}
class func hideWait() {
if let appdelegate = UIApplication.shared.delegate as? AppDelegate,
appdelegate.myIndicatorView != nil {
DispatchQueue.main.async {
appdelegate.myIndicatorView?.removeFromSuperview()
appdelegate.myIndicatorView = nil
UIApplication.shared.endIgnoringInteractionEvents()
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有以下代码,它连接到Web服务并返回一个Categories数组.
我正在使用以下SOAP Web服务包装器:
..以及MBProgressHUD活动指标的以下内容:
https://github.com/jdg/MBProgressHUD
我想有一个HUD进度指示器表明它正在连接和抓取结果.我目前正在使用MBProgressHUD以达到预期的效果,但我注意到它不能正常工作.在tableView加载和显示我的实际单元格之前,进度指示器消失.我也在MBProgressHUD我的应用程序的不同区域使用,但通常每次我连接到Web服务以获取结果.
是否有人能够指导我如何解决以下代码才能正常工作?我认为这可能与在显示进度指示器后触发回调方法有关.不太确定如何MBProgressHUD使用回调方法正确实现.
这是我"试图"让它发挥作用的可怕尝试.
- (void)showHUD {
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
// Add HUD to screen.
[self.navigationController.view addSubview:HUD];
// Register for HUD callbacks so we can remove it from the window at the right time.
HUD.delegate = self;
HUD.labelText = @"Loading";
// Show the HUD while the provided method executes in a new thread
[HUD showWhileExecuting:@selector(runLocalNotificationHandler) onTarget:self withObject:nil animated:YES];
}
- (void)runLocalNotificationHandler {
NSAutoreleasePool …Run Code Online (Sandbox Code Playgroud) iphone web-services objective-c nsthread uiactivityindicatorview
我想在我的应用程序中添加一个加载活动指示器,类似于邮件应用程序中的状态文本.我正在使用UINavigationController,所以我知道我需要在每个我希望它显示的视图上设置toolbarItems数组.我可以添加活动指示器,它确实显示,但当我尝试使用下面的代码添加文本字段时,文本不显示.有没有办法以编程方式创建一个具有状态文本和UIActivityIndicatorView的容器,如果将其添加到toolbarItems数组中,它将显示出来.
UIBarButtonItem *textFieldItem = [[[UIBarButtonItem alloc] initWithCustomView:textField] autorelease];
self.toolbarItems = [NSArray arrayWithObject:textFieldItem];
Run Code Online (Sandbox Code Playgroud)
更新:我根据来自pdriegen的代码创建了一个派生自UIView的类.
我还将此代码添加到我的控制器中的viewDidLoad
UIProgressViewWithLabel * pv = [[UIProgressViewWithLabel alloc] init];
UIBarButtonItem * pvItem = [[UIBarButtonItem alloc] initWithCustomView:pv];
[self setToolbarItems:[NSMutableArray arrayWithObject:pvItem]];
Run Code Online (Sandbox Code Playgroud)
目前工具栏中没有显示任何内容.我错过了什么?
xcode uinavigationcontroller uibarbuttonitem uiactivityindicatorview ios
这是一篇问答帖子.为了通知我在浏览StackOverflow数据库时遇到过这个问题的许多其他用户.这些用户都没有得到一个可靠的答案(他们中的大多数人在几年前提出这个问题,所以我不打算发帖).
许多人都在努力解决的问题如下:
当您尝试在UIWebView中加载页面然后页面然后通过iFrame加载另一个页面或者通过javascript加载广告时,您最终会再次调用页面加载函数,如果您使用的是UIActivityIndicator,它将再次被调用同时也惹恼了你的用户.
对此的修复是存储先前的MainURL并检查尝试加载的新MainURL,如果它们匹配,则忽略加载函数.(我在下面的回答中的示例代码)
**webViewDidStartLoad在网页已经真正加载后将会额外调用该方法的网页示例如下:www.speakeasy.net/speedtest/
我想在默认NSNotificationCenter调用的方法中使用postNotificationName停止指示器的动画.所以我在主线程上做这个
-(void)method
{
...
[ind performSelectorOnMainThread:@selector(stopAnimating) withObject:nil waitUntilDone:NO];
}
Run Code Online (Sandbox Code Playgroud)
它确实无效.方法被正确调用,任何其他被调用的选择器完成它们的工作但不是stopAnimating.我把[ind stopAnimating]放在另一个函数中,然后通过performSelectorOnMainThread调用它,但它仍然无效.
ios ×8
objective-c ×3
iphone ×2
nsthread ×2
swift ×2
loading ×1
nstimer ×1
swift4.2 ×1
touch-event ×1
uiwebview ×1
web-services ×1
xcode ×1
xcode10.1 ×1
xcode6 ×1
xcode6-beta7 ×1