Waqas-Hirose / CustomViewPractice

This is Custom View Practice. A view is created with 4 subviews and without using constraints.
1 stars 0 forks source link

"Log in"ボタンとAutoLogin Switchとの隙間が大きい #6

Closed matsumoto777 closed 4 years ago

matsumoto777 commented 4 years ago

AutoLogin Switchとの隙間について。 "Log out"ボタンは正しい。 "Log in"ボタンは大きい

スクリーンショット 2019-11-27 15 51 47

Hirama-sanのソースと比べて何が異なるか研究してほしいです。 https://github.com/YuukiHirama/Task2/blob/master/Task2/Task2/CustomView.swift

Waqas-Hirose commented 4 years ago

Fixed

matsumoto777 commented 4 years ago

もう少し落ち着いてソースコードを書いてください。

1) インデントがずれている 2) '''labelSwitch.frame.size = switchSize'''は全くの無駄 3) 2つのブロックで異なるのはCGRect(x: btnLogout.frame.minX...の部分だけとの認識。 であれば、let btn = btnLogin.isHidden ? btnLogout : btnLoginとする等、書き方をもう少し工夫できるのではないか?

        if(btnLogin.isHidden){
            let switchSize = labelSwitch.sizeThatFits(CGSize(width: frame.size.width, height: CGFloat.greatestFiniteMagnitude))
                   labelSwitch.frame.size = switchSize
                   self.labelSwitch.frame = CGRect(x: btnLogout.frame.minX-10-switchSize.width , y: buttonsYPosition, width: labelSwitch.bounds.width+5 , height: buttonHeight!)
        } else {
            let switchSize = labelSwitch.sizeThatFits(CGSize(width: frame.size.width, height: CGFloat.greatestFiniteMagnitude))
                   labelSwitch.frame.size = switchSize
                   self.labelSwitch.frame = CGRect(x: btnLogin.frame.minX-10-switchSize.width , y: buttonsYPosition, width: labelSwitch.bounds.width+5 , height: buttonHeight!)
        }
Waqas-Hirose commented 4 years ago

This was my mistake and sorry for this. I have moved out the common code from if else. Issue is fixed.