다음은 tutorial에 따라 탭 표시 줄 이미지에 애니메이션을 적용하고 있습니다. 이 유형 UITabBarButtonLabel 아니라있는 UIImageView의 데이터를수록 코드의 주어진 라인은 나를UITabBar 스위프트에서 UIImageView를 가져올 수 없습니다.
secondItemView.subviews.first as! UIImageView
secondItemView.viewWithTag(1)
반환 nil을 태그 값을 사용하여 UIImageView에 얻을 수 있도록 태그 값 1을 추가했습니다. UIImageView의 참조를 얻는 다른 방법은 무엇입니까?
코드
@objc public class MTMainScreenTabsController : UITabBarController {
var secondItemImageView: UIImageView!
public override func viewDidLoad() {
super.viewDidLoad()
let secondItemView = self.tabBar.subviews[0]
print(secondItemView.subviews)
print(secondItemView.viewWithTag(1))
//self.secondItemImageView = secondItemView.subviews.secon
var item: UITabBarItem! = self.tabBar.items![0]
//self.secondItemImageView = secondItemView.viewWithTag(1) as! UIImageView
}
public override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}
public override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
if item.tag == 1 {
self.secondItemImageView.transform = .identity
UIView.animate(withDuration: 0.7, delay: 0, usingSpringWithDamping: 0.5, initialSpringVelocity: 1, options: .curveEaseInOut, animations: {
() -> Void in
//let rotation = CGAffineTransformMakeRotation(CGFloat(M_PI_2))
let rotation = CGAffineTransform.init(rotationAngle: CGFloat(Double.pi/2))
self.secondItemImageView.transform = rotation
}, completion: nil)
}
}
}
탭 표시 줄 태그 1을 지정하고 확인하십시오 –
더 많은 코드로 질문을 업데이트 할 수 있습니까? –
@LuanTran 코드 추가 –