現在tableViewがあり、セルの1つにwebViewが含まれています。webViewが読み込まれているときに、アクティビティインジケーターを表示したいのですが、そのセルにのみ表示されます。現在、インジケーターは表示されますがアニメーション化されず、ビデオが表示されても非表示にはならず、ビデオの上に留まります。tableViewCellのコードは次のとおりです。
class VideoOnDetailCell: UITableViewCell {
@IBOutlet weak var videoDetail: UIWebView!
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
func webViewDidStartLoad(webView: UIWebView) {
activityIndicator.hidden = false
activityIndicator.startAnimating()
NSLog("The web view is starting to load")
}
func webViewDidFinishLoad(webView: UIWebView){
activityIndicator.hidden = true
activityIndicator.stopAnimating()
NSLog ("The web view has finished loading")
}
}
次に、cellForRowAtIndexPathを示します。
let cell = tableView.dequeueReusableCellWithIdentifier("videoDetail", forIndexPath: indexPath) as!
VideoOnDetailCell
cell.videoDetail.allowsInlineMediaPlayback = true
cell.videoDetail.loadHTMLString("<iframe width=\"\(cell.videoDetail.frame.width)\" height=\"\(200)\" src=\"\(videoURL[indexPath.row])/?&playsinline=1\" frameborder=\"0\" allowfullscreen></iframe>", baseURL: nil)
self.DetailTvTableView.rowHeight = 200
return cell
問題は、セルがWebビューのデリゲートではないため、セル内のWebビューデリゲートメソッドが呼び出されないことです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加