我正在尝试从我的App Delegate管理活动指示器,这样我的任何视图都可以将指示器调高.所以,我将它作为子视图添加到'window'并按如下方式启动/停止:
- (void)didStartActivity
{
if( activityIndicator == nil ) {
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activityIndicator.hidesWhenStopped = YES;
activityIndicator.center = window.center;
activityIndicator.transform = CGAffineTransformScale(CGAffineTransformIdentity, 6.0, 6.0);
}
NSLog(@"%s: starting the activityIndicator", __FUNCTION__);
[window addSubview:activityIndicator];
[activityIndicator startAnimating];
}
Run Code Online (Sandbox Code Playgroud)
我看到日志消息,所以我知道正在调用代码.指标位于中心,默认大小为6倍.但是,stopAnimating并没有停止.我唯一能得出的结论是它需要在当前的视图控制器中运行.
- (void)didStopActivity
{
NSLog(@"%s: stopping the activityIndicator", __FUNCTION__);
[activityIndicator stopAnimating];
[activityIndicator removeFromSuperview];
}
Run Code Online (Sandbox Code Playgroud) 我有关于UIActivityIndicator的问题.我[spinner startAnimating]在IBAction上应用了一个按钮,然后进行了一些处理.应该停止进程activityindicator然后导航到另一个视图.但活动指标不会出现.当我删除"[spinner stopAnimating]"行时,指示符会出现,但不会按下即时按钮.它出现在其他视图加载之前,并且显然没有出现,我的意思是它没有出现但是如果我们非常仔细地看到那么它只会出现一瞬间.
Thanx提前获得任何答案.
嘿,当我的用户更改选择器轮中的选择时,我想在导航栏的右角显示一个活动指示器.我不知道如何在那里添加活动指示器我只能在那里添加普通的导航栏按钮.有帮助吗?提前致谢!
cocoa-touch objective-c uinavigationbar uiactivityindicatorview
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activityIndicator.center = CGPointMake(self.view.bounds.size.width / 2.0f, self.view.bounds.size.height / 2.0f);
Run Code Online (Sandbox Code Playgroud)
目前它出现在下半部分.
我试图使用下面的代码将微调器置于页面中间.
self.aSpinner.center = self.view.center;
Run Code Online (Sandbox Code Playgroud)
但是,当我运行程序时,微调器似乎不在中心

有没有什么办法解决这一问题?
编辑:
我发现了这个问题.并不是微调器不在中心,而是子视图的界限不同于超视图.

我在我的代码中做了类似的事情:
self.navcon = [[UINavigationController alloc]init];
self.photoViewTable = [[PhotoTableViewController alloc]init];
self.loadingPage = [[LoadingPageViewController alloc]init];
[self.photoViewTable.view addSubview:loadingPage.view];
[navcon pushViewController:photoViewTable animated:NO];
[self.window addSubview:navcon.view];
Run Code Online (Sandbox Code Playgroud)
如何将loadingPage视图大小设置为等于父视图?
我想改变iOS中活动指标的颜色.但是,我不想创建自定义指标.活动指标有一个颜色属性,但它没有显示在xcode中.请指教.
我UIActivityIndicatorView在XIB中水平居中.

在iOS 4(模拟器)中,指示器默认为大白(iOS 5中引入的颜色属性),这很好.奇怪的是它也是偏移的.

我最初的假设是XIB出现了问题(或者是那种效果).但是,在iOS 5(模拟器,iPhone 4)中,它完美运行.

看到从iOS 4到iOS 5的唯一变化是关于UIActivityIndicatorViews的是添加color属性,我很难过.我知道这里可能没有足够的信息可以推断出确切的问题.我更关心从哪里开始调试,并欢迎任何关于我可以提供哪些进一步信息的建议.
更多的信息:
portPoint = (x, y); landPoint = (w, z);),我手动设置旋转.当应用程序加载时,指示符的来源(正确)portPoint(我已通过NSLog验证),尽管在视觉上未对齐.当我旋转到横向时,原点正确(视觉和数据方式)设置为landPoint.当我向后旋转时,原点正确(视觉和数据方式)设置为portPoint,从而解决问题.我的问题很常见.我想显示一些"加载"内容,同时下载将在表中显示的数据.但是我到目前为止看到的所有解决方案都是向细胞添加一些微调器,或者在应用程序上放置一些半透明视图.
我想要活跃的是苹果在其应用中所做的事情(例如YouTube).比如,在白色背景上显示带有"正在加载"字样的旋转轮,然后显示数据.
我也看到了一些带有分组风格的解决方案,但是我的桌子有一个简单的风格,所以我认为它并没有帮助我很多.
我的最终代码如下所示:
- (void)loadImagesData
{
UIView *tableView = self.view;
self.view = [[LoadingView alloc] initWithFrame:CGRectMake(0, 0, 320, 367)];
dispatch_queue_t downloadQueue = dispatch_queue_create("flickr downloader", NULL);
dispatch_async(downloadQueue, ^{
NSArray *images = [FlickrFetcher photosInPlace:self.place maxResults:MAX_PHOTOS];
dispatch_async(dispatch_get_main_queue(), ^{
self.view=tableView;
self.imagesData = images;
});
});
dispatch_release(downloadQueue);
}
Run Code Online (Sandbox Code Playgroud)
和imageData setter调用reloadData表视图.
我知道如何使用简单的方形背景制作活动指示器,但根本没有填充,我不知道如何将"加载"这个词显示为这样.

有谁知道这是如何实现的?我看过网上似乎找不到任何东西.谢谢你们!
我已经UIRefreshControl创建了自己的子类,除了一件事,我可以管理所有内容:
默认的微调器总是可见的,当然是我在自定义实现中所做的一切.
我找不到旋转器属性或者我需要将它放到一个清晰的颜色,任何人都可以帮助我吗?
ios ×6
objective-c ×5
cocoa-touch ×4
iphone ×4
colors ×1
position ×1
spinner ×1
uicolor ×1
uikit ×1
uitableview ×1
xib ×1