gpt4 book ai didi

ios - 另一个(!)事件指示器问题

转载 作者:行者123 更新时间:2023-11-28 22:49:55 25 4
gpt4 key购买 nike

好吧,在阅读了很多关于这个问题的 SO 帖子之后,我仍然无法解决我的事件指示器的问题。该指示器在其自己的 View Controller 控制下的选项卡中的 View 中。它有一个带有 UIWebView 的 View ,可以很好地加载本地 html 页面。该 View 使用 initWithNibName 加载,然后使用 awakeFromNib 加载。这是我认为相关的部分:

@implementation HelpViewController
@synthesize webView = _webView;
@synthesize back = _back;
@synthesize forward = _forward;
@synthesize aI = _aI;

- (void) viewDidLoad {
_aI = [[UIActivityIndicatorView alloc]
initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[_aI stopAnimating];

// Now add the web view

NSString *filePath = [[NSBundle mainBundle]
pathForResource:@"Help"
ofType:@"html"];

[self.view addSubview:_webView];
_webView.delegate = self;
NSURL* fileURL = [NSURL fileURLWithPath:filePath];
NSURLRequest *request = [NSURLRequest requestWithURL:fileURL];
[_webView loadRequest:request];
[super viewDidLoad];
}

-(void) webViewDidStartLoad:(UIWebView *)webView {
[_aI startAnimating];
_back.enabled = NO;
_forward.enabled = NO;
}

-(void) webViewDidFinishLoad:(UIWebView *)webView {
[_aI stopAnimating];

if (webView.canGoBack) {
_back.enabled = YES;
_back.highlighted = YES;
}

if (webView.canGoForward) {
_forward.enabled = YES;
_forward.highlighted = YES;
}
}

导航按钮工作正常。事件指示器被放置在 Nib 中,但在主视图中,而不是在 webView 上/上方/下方。在属性中,我选中了 Hides When Stopped。如果我选中 Animating,则无论我如何在 UIWebView 中导航,指示器始终可见且具有动画效果。如果我取消选中 AnimatingHidden 自动为我检查。在这种情况下,指标永远不会出现。所以它要么一直开着,要么一直关着。

我读过很多关于您需要在不同线程上使用指标的案例。我不确定,但我认为这不适用于此处(我加载本地 html 页面但允许用户导航然后返回本地页面)。但是,我似乎有些脱节;也许是指标在主视图中但页面在 webView 中?或者我没有以正确的方法调用事物。或者谁知道...感谢您的帮助!

最佳答案

您在 viewDidLoad 中覆盖了 _aI 并且从不将其放置在 View 层次结构中,因此您向其发送消息的对象永远不可见,并且事件指示器放置在界面构建永远不会改变其状态,这就是为什么它总是动画或隐藏的原因。

关于ios - 另一个(!)事件指示器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12255844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com