| | |
| | | } |
| | | |
| | | private func updateTreeInfo(){ |
| | | btn_seedingAgain.isHidden = treeInfoModel!.treeLevelType != .level_10 |
| | | btn_seedingAgain.isHidden = (treeInfoModel!.treeLevelType != .level_10 && treeInfoModel!.status == .no) |
| | | |
| | | // if treeLevel.rawValue != treeInfoModel?.treeLevelType.rawValue{ |
| | | // treeLevel = treeInfoModel!.treeLevelType |
| | |
| | | @IBAction func sowAgainAction(_ sender: UIButton) { |
| | | Services.sowAgain().subscribe(onNext: {[weak self] _ in |
| | | self?.getTreeData() |
| | | if let soundURL = URL(string:TreeLevel.level_1.sound){ |
| | | self?.voicePlayer.replaceCurrentItem(with: AVPlayerItem(url: soundURL)) |
| | | self?.voicePlayer.play() |
| | | |
| | | if self?.treeInfoModel?.treeLevelType == .level_10{ |
| | | if let soundURL = URL(string:TreeLevel.level_1.sound){ |
| | | self?.voicePlayer.replaceCurrentItem(with: AVPlayerItem(url: soundURL)) |
| | | self?.voicePlayer.play() |
| | | } |
| | | } |
| | | }).disposed(by: disposeBag) |
| | | } |
| | | |
| | | override func setRx() { |
| | | NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: nil, queue: nil) { [weak self] _ in |
| | | self?.player.seek(to: CMTime.zero) |
| | | self?.player.play() |
| | | NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: nil, queue: nil) { [weak self] data in |
| | | |
| | | let notifiUrl = ((data.object as? AVPlayerItem)?.asset as? AVURLAsset) |
| | | let currentItem = (self?.player.currentItem?.asset as? AVURLAsset) |
| | | |
| | | if currentItem?.url == notifiUrl?.url{ |
| | | self?.player.seek(to: CMTime.zero) |
| | | self?.player.play() |
| | | } |
| | | } |
| | | |
| | | NotificationCenter.default.addObserver(forName: UIApplication.didEnterBackgroundNotification, object: nil, queue: nil) { [weak self] _ in |
| | |
| | | return |
| | | } |
| | | |
| | | let pix = view_progressTotal.height / Double(total) |
| | | let realH = view_progressTotal.height - 4 //上下boder宽度 |
| | | |
| | | let pix = realH / Double(total) |
| | | let px = Double(current) * pix |
| | | let max = view_progressTotal.height - 5 |
| | | let max = realH |
| | | cons_progressHei.constant = min(px,max) |
| | | |
| | | self.label_progress.attributedText = AttributedStringbuilder.build().add(string: "\(current)", withFont: .systemFont(ofSize: 12, weight: .bold), withColor: .white, indent: 0, lineSpace: 0).add(string: "\n/\(total)", withFont: .systemFont(ofSize: 11,weight: .thin), withColor: .white).mutableAttributedString |
| | |
| | | sender.isUserInteractionEnabled = true |
| | | if m.isNext{ |
| | | let type = weakSelf.treeInfoModel?.treeLevelType ?? .level_1 |
| | | weakSelf.treeInfoModel!.treeLevelType = TreeLevel(rawValue: type.rawValue + 1) ?? .level_1 |
| | | weakSelf.treeInfoModel!.treeLevelType = m.treeLevelType |
| | | |
| | | let h = (JQ_ScreenW - 90) * 0.7729 |
| | | TreeTeskFirstRuleView.show(title: "升级", content:"恭喜!你的树苗已升级为\(weakSelf.treeInfoModel!.treeLevelType.title)阶段!",textAlignment: .center,height: h,textTopOffset: 57) |
| | |
| | | self.aPNGTreeImageView?.stopAnimating() |
| | | self.aPNGTreeImageView?.image = nil |
| | | self.aPNGTreeImageView?.staticImage = UIImage(contentsOfFile: staticDroopUrl.droppedScheme()!.absoluteString) |
| | | } |
| | | }else{ |
| | | self.aPNGTreeImageView?.staticImage = nil |
| | | self.aPNGTreeImageView?.image = treeApngImage |
| | | } |
| | | } |
| | | } |
| | | } |