Ios 当scrollView内容更改时,如何动态更改字体大小?
我有Ios 当scrollView内容更改时,如何动态更改字体大小?,ios,swift,uiscrollview,swift3,Ios,Swift,Uiscrollview,Swift3,我有UIScrollView和UILabel。当用户上下滚动myUIScrollView时,我想动态地将UILabel大小从33.0更改为0.0,从0.0更改为33 我该怎么做 @IBOutlet weak var myLabel : UILabel! override func viewDidLoad() { super.viewDidLoad() scrollView.delegate = self } func scrollViewDidScroll(_ scroll
UIScrollView
和UILabel
。当用户上下滚动myUIScrollView
时,我想动态地将UILabel
大小从33.0更改为0.0,从0.0更改为33
我该怎么做
@IBOutlet weak var myLabel : UILabel!
override func viewDidLoad() {
super.viewDidLoad()
scrollView.delegate = self
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offset = scrollView.contentOffset.y
let fontpointmath = (myLabel.font.pointSize / (offset / 100) - 15)
if offset > 0 {
if fontpointmath < 0 {
myLabel.font = UIFont(name: "Arial", size: 0.0)
}else if fontpointmath > 33 {
myLabel.font = UIFont(name: "Arial", size: 33.0)
}else{
myLabel.font = UIFont(name: "Arial", size: CGFloat(fontpointmath))
}
}
@IBOutlet弱var myLabel:UILabel!
重写func viewDidLoad(){
super.viewDidLoad()
scrollView.delegate=self
}
func scrollViewDidScroll(scrollView:UIScrollView){
让offset=scrollView.contentOffset.y
让fontpointmath=(myLabel.font.pointSize/(偏移量/100)-15)
如果偏移量>0{
如果fontpointmath<0{
myLabel.font=UIFont(名称:“Arial”,大小:0.0)
}否则,如果fontpointmath>33{
myLabel.font=UIFont(名称:“Arial”,大小:33.0)
}否则{
myLabel.font=UIFont(名称:“Arial”,大小:CGFloat(fontpointmath))
}
}
我当前的代码只允许字体大小为15点左右,不允许更改为0。当用户再次向下滚动时,字体大小也不会增加到33。请尝试使用“转换”而不是更改字体大小
override func viewDidLoad() {
super.viewDidLoad()
scrollView.delegate = self
myLabel.font = UIFont(name: "Arial", size: 33.0)
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offset = scrollView.contentOffset.y
let scale = min(max(1.0 - offset / 200.0, 0.0), 1.0)
myLabel.transform = CGAffineTransform(scaleX: scale, y: scale)
}
如何使反向效果。我的要求是改变字体大小0到33。