gpt4 book ai didi

ios - 滑入式菜单容器无法滑动

转载 作者:行者123 更新时间:2023-11-29 05:45:34 27 4
gpt4 key购买 nike

MainSideController 具有函数toggleSideMenu。但是当我点击 ContentViewController 中的配置文件 ButtonTapped 时。该按钮显示它在调试菜单中被点击,但侧面菜单没有滑入。

import UIKit

class MainSideViewController: ContentViewController{
@IBOutlet weak var sideMenuContainer: UIView!
@IBOutlet weak var sideMenuViewLeadingConstraint: NSLayoutConstraint!
@IBOutlet weak var contentViewLeadingConstraint: NSLayoutConstraint!

var sideMenuVisible = false

override func viewDidLoad() {
super.viewDidLoad()

sideMenuViewLeadingConstraint.constant = 0 - self.sideMenuContainer.frame.size.width
}

@objc func toggleSideMenu(fromViewController: UIViewController) {
if(sideMenuVisible){
UIView.animate(withDuration: 0.5, animations: {

self.sideMenuViewLeadingConstraint.constant = 0 - self.sideMenuContainer.frame.size.width

self.contentViewLeadingConstraint.constant = 0
self.view.layoutIfNeeded()
})
} else {
self.view.layoutIfNeeded()
UIView.animate(withDuration: 0.5, animations: {

self.sideMenuViewLeadingConstraint.constant = 0

self.contentViewLeadingConstraint.constant = self.sideMenuContainer.frame.size.width
self.view.layoutIfNeeded()
})
}

sideMenuVisible = !sideMenuVisible
}
}
import UIKit

class ContentViewController: UIViewController {
let profileButton = UIButton(type: .custom)

override func viewDidLoad() {
super.viewDidLoad()

profileButton.setImage(UIImage(named: "hamburger") , for: .normal)
profileButton.contentMode = .scaleAspectFit
profileButton.translatesAutoresizingMaskIntoConstraints = false

// function performed when the button is tapped
profileButton.addTarget(self, action: #selector(profileButtonTapped(_:)), for: .touchUpInside)

// Add the profile button as the left bar button of the navigation bar
let barbutton = UIBarButtonItem(customView: profileButton)
self.navigationItem.leftBarButtonItem = barbutton

// Set the width and height for the profile button
NSLayoutConstraint.activate([
profileButton.widthAnchor.constraint(equalToConstant: 35.0),
profileButton.heightAnchor.constraint(equalToConstant: 35.0)
])

// Make the profile button become circular
profileButton.layer.cornerRadius = 35.0 / 2
profileButton.clipsToBounds = true
}

@IBAction func profileButtonTapped(_ sender: Any){
print("Button tapped")

if let mainVC = self.navigationController?.tabBarController? .parent as? MainSideViewController {
mainVC.toggleSideMenu(fromViewController: self)
}
}
}

我将 sideMenuViewLeadingConstraint 添加到 viewDidLoad 中。它仍然不起作用。我也添加了切换功能。它仍然没有滑入和滑出。

我希望个人资料按钮能够触发切换功能,并且侧面菜单能够像 Twitter 那样侧入和出。

最佳答案

代替我使用的 MainSideViewController 中的 sideMenuViewLeadingConstraint.constant = 0 - self.sideMenuContainer.frame.size.widthNotificationCenter.default.addObserver(self, 选择器: #selector(toggleSideMenu), 名称: NSNotification.Name("ToggleSideMenu"), 对象: nil)

并将其放入 @IBAction func profileButtonTapped(_ 发送者: 任何){ print("按钮被点击")

NotificationCenter.default.post(名称:NSNotification.Name(“ToggleSideMenu”),对象:nil) } }

关于ios - 滑入式菜单容器无法滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56169305/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com