为了账号安全,请及时绑定邮箱和手机立即绑定

viewDidLoad中修改center.x无效

我在最新的xcode7.2中viewDidLoad里使用center.x -= self.view.bounds.width的时候发现不能移动元素的位置,反而百度了下发现用alpha=0让元素隐藏起来,在viweDidAppear里再把alpha改回1执行动画效果,效果实现了,但是不知道center.x那种方式有什么问题

//self.dot.center.x -= self.view.bounds.width/2 //Not effective

        self.dot.alpha = 0

        //self.logo.center.x -= self.view.bounds.width //Not effective

        self.logo.alpha = 0


正在回答

4 回答

将这些位置的初始代码放到viewDidAppear里吧

0 回复 有任何疑惑可以回复我~

请问问题解决了么?我现在也是这样,重新修改位置后没有效果

0 回复 有任何疑惑可以回复我~

 @IBOutlet weak var bubble1: UIImageView!

    @IBOutlet weak var bubble2: UIImageView!

    @IBOutlet weak var bubble3: UIImageView!

    @IBOutlet weak var bubble4: UIImageView!

    @IBOutlet weak var bubble5: UIImageView!

    @IBOutlet weak var dot: UIImageView!

    @IBOutlet weak var logo: UIImageView!

    @IBOutlet weak var username: UITextField!

    @IBOutlet weak var password: UITextField!

    @IBOutlet weak var login: UIButton!

    

    //custom

    let spinner = UIActivityIndicatorView(activityIndicatorStyle: .White)

    

    override func viewDidLoad() {

        super.viewDidLoad()

        

        self.bubble1.transform = CGAffineTransformMakeScale(0, 0)

        self.bubble2.transform = CGAffineTransformMakeScale(0, 0)

        self.bubble3.transform = CGAffineTransformMakeScale(0, 0)

        self.bubble4.transform = CGAffineTransformMakeScale(0, 0)

        self.bubble5.transform = CGAffineTransformMakeScale(0, 0)

        //self.dot.center.x -= self.view.bounds.width/2 //Not effective

        self.dot.alpha = 0

        //self.logo.center.x -= self.view.bounds.width //Not effective

        self.logo.alpha = 0

        let usernamePaddingView = UIView(frame: CGRectMake(0, 0, 40,40))

        let passwordPaddingView = UIView(frame: CGRectMake(0, 0, 40,40))

        self.username.leftView = usernamePaddingView

        self.username.leftViewMode = .Always

        

        self.password.leftView = passwordPaddingView

        self.password.leftViewMode = .Always

        

        let userImageView = UIImageView(image: UIImage(named: "user"))

        userImageView.frame.origin = CGPoint(x: 11, y: 11)

        self.username.addSubview(userImageView)

        //self.username.center.x -= self.view.bounds.width //Not effective

        self.username.alpha = 0

        let keyImageView = UIImageView(image: UIImage(named: "key"))

        keyImageView.frame.origin = CGPoint(x: 11, y: 11)

        self.password.addSubview(keyImageView)

        //self.password.center.x -= self.view.bounds.width //Not effective

        self.password.alpha = 0

        self.login.alpha=0

    }

刚学了一点,看着视频做了一遍,然后删了自己在做了一遍,百度了下,发现改透明度可以实现

0 回复 有任何疑惑可以回复我~

发多一点代码看看吧,调整透明度肯定也是可以做出动画效果的,就是一个从无到有的过程,并没有移动,是2种不同的动画效果

0 回复 有任何疑惑可以回复我~
#1

Sulg

同样遇到此问题,从Github上下载下来老师的demo模拟可以 这是为什么呢?求解
2015-12-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
iOS动画案例之会跳舞的界面(下)
  • 参与学习       16072    人
  • 解答问题       16    个

来让界面舞动起来,学会动画的设计思路,界面的设计思路

进入课程

viewDidLoad中修改center.x无效

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信