측면에서 나오는 교환 메뉴를 만들다

9418 단어 iOSSwiftXcode6

해본 일

  • Gmail, 페이스북, 스마트폰 앱에서 흔히 볼 수 있는 것으로, 왼쪽이나 오른쪽으로 닦으면 메뉴가 나오고 반대로 닦았다가 뒤집어진다.
  • 메뉴가 나오는 동안 메인 부분 위에 투명 버튼을 덮어줍니다.
  • 투명 버튼을 누른 후 메뉴를 닫습니다.
  • 코드


    ViewController.swift
    
    class ViewController: UIViewController {
    
        // フロントビュー
        @IBOutlet var frontView: UIView!
    
        // カバーボタン(透明)
        @IBOutlet var coverButton: UIButton!
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
    
            // カバーボタンを隠す
            self.coverButton.hidden = true
        }
    
        // スワイプ(メニューを表示、非表示)
        @IBAction func swipeView(sender: UISwipeGestureRecognizer) {
    
            var location:CGPoint = self.frontView.center;
            var center_x:CGFloat = self.view.center.x;
    
            //スワイプした方向で分岐
            if (sender.direction == UISwipeGestureRecognizerDirection.Right) {
                // 右に開ける
                location.x = center_x + 120
                // カバーボタンを表示
                self.coverButton.hidden = false
            } else {
                //左に閉じる
                location.x = center_x
                // カバーボタンを隠す
                self.coverButton.hidden = true
            }
            UIView.animateWithDuration(
                0.2,
                delay:0.5,
                options : UIViewAnimationOptions.CurveEaseIn,
                animations : {
                    self.frontView.center = location
                },
                completion: {
                    (value: Bool) in
                    println("");
                }
            )
    
        }
    
        // カバーボタンをタップするとメニューを閉じる
        @IBAction func closeMenu(sender: UIButton) {
    
            var location:CGPoint = self.frontView.center;
            var center_x:CGFloat = self.view.center.x;
    
            //左に閉じる
            location.x = center_x
            // カバーボタンを隠す
            self.coverButton.hidden = true
    
            UIView.animateWithDuration(
                0.2,
                delay:0.5,
                options : UIViewAnimationOptions.CurveEaseIn,
                animations : {
                    self.frontView.center = location
                },
                completion: {
                    (value: Bool) in
                    println("");
                }
            )
    
        }
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    
    
    }
    
    

    노하우 같은 거.

  • Recognizer 등의 이름을 바꾸는 데는 기교가 필요하다

  • 트리에서 이름을 바꾸지만 처음에는 상태를 편집하는 방법을 잘 몰랐어요.선택한 후 짧은 시간 내에 를 클릭합니다.두 번 클릭할 수 없습니다.
    *ios 시뮬레이터로 필터를 할 때 보통 마우스로 드래그합니다.

    원본 파일


    메모

  • animate WithDration의 작법은 매우 적절하여 이곳을 참고하였다.
    http://qiita.com/skatata/items/a0b908c899748c843db3
  • 스위프캣이라는 이름으로 개 사진을 찍었다.
  • 시작할 때 메누2만 앞에 나타나서 다시 하고 수정했는데 잘 모르겠어요.
  • 통용 처리를 원합니다.
  • 좋은 웹페이지 즐겨찾기