ios - swift : Disable FrontViewController when Rear is Displayed

标签 ios objective-c iphone swift swrevealviewcontroller

我想在显示左 View 或右 View 时禁用与前 View 的交互。如何做到这一点?

所有源代码都是用 objective-C 编写的

比如这个

    - (void)revealController:(SWRevealViewController *)revealController willMoveToPosition:(FrontViewPosition)position
{
    if(position == FrontViewPositionLeft) {
        self.view.userInteractionEnabled = YES;
    } else {
        self.view.userInteractionEnabled = NO;
    }
}

- (void)revealController:(SWRevealViewController *)revealController didMoveToPosition:(FrontViewPosition)position
{
    if(position == FrontViewPositionLeft) {
        self.view.userInteractionEnabled = YES;
    } else {
        self.view.userInteractionEnabled = NO;
    }
}

更新

这是前 View Controller 也没用

class Feed: UIViewController,SWRevealViewControllerDelegate {




@IBOutlet var tableView: UITableView!

@IBOutlet weak var menuButton:UIBarButtonItem!

override func viewDidLoad() {
    super.viewDidLoad()
    self.revealViewController().delegate = self


    if self.revealViewController() != nil {
        menuButton.target = self.revealViewController()
        menuButton.action = "revealToggle:"
        self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())

        func revealController(revealController: SWRevealViewController!, willMoveToPosition position: FrontViewPosition)
        {
            if position == FrontViewPosition.Left     // if it not statisfy try this --> if revealController.frontViewPosition == FrontViewPosition.Left
            {
                self.view.userInteractionEnabled = false
            }
            else
            {
                self.view.userInteractionEnabled = true
            }


        }

        fetchMessages()
    }
}

最佳答案

用任何一种方法都可以

swift

func revealController(revealController: SWRevealViewController!, willMoveToPosition position: FrontViewPosition)
{
 if position == FrontViewPosition.Left     // if it not statisfy try this --> if revealController.frontViewPosition == FrontViewPosition.Left
 {
 self.view.userInteractionEnabled=False
 }
 else
 {
 self.view.userInteractionEnabled=true
 }

}

不要忘记在您的 View Controller 中添加 self.revealViewController().delegate = self else ,委托(delegate)不会被调用

objective-c

 - (void)revealController:(SWRevealViewController *)revealController willMoveToPosition:(FrontViewPosition)position
{
if(position == FrontViewPositionLeft) {
    self.view.userInteractionEnabled = YES;
} else {
    self.view.userInteractionEnabled = NO;
}
}

不要忘记在您的 View Controller 中添加 self.revealViewController.delegate = self; else ,委托(delegate)不会被调用

更新/自定义

class Feed: UIViewController,SWRevealViewControllerDelegate {


@IBOutlet var tableView: UITableView!

@IBOutlet weak var menuButton:UIBarButtonItem!

override func viewDidLoad() {
super.viewDidLoad()

if self.revealViewController() != nil {
    menuButton.target = self.revealViewController()
    menuButton.action = "revealToggle:"
    self.revealViewController().delegate = self
 self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())

}

  fetchMessages()
}

 func revealController(revealController: SWRevealViewController!, willMoveToPosition position: FrontViewPosition)
    {
        if position == FrontViewPosition.Left     // if it not statisfy try this --> if revealController.frontViewPosition == FrontViewPosition.Left
        {
            self.view.userInteractionEnabled = false
        }
        else
        {
            self.view.userInteractionEnabled = true
        }


    }

关于ios - swift : Disable FrontViewController when Rear is Displayed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32479558/

相关文章:

ios - 在 ios 中展开和折叠表格 View 单元格

ios - 使用自适应转场时如何获取对 UIPopoverController 的引用?

android - Qt qml 显示设备联系人列表

iphone - nib 中的自定义单元格何时发布

iphone - 模型、 View 、 Controller 混淆

iphone - 如何在不重新加载 MapView 的情况下重新加载 MKAnnotations?

iphone - 是否有图书馆或轻松的类(class)来确定用户是否使用 WiFi?

ios - 为什么 QLPreviewController 上的 canPreviewItem 对于 iOS 13 上支持的文件格式(如 PDF)失败?

ios - 尝试通过 FusionCharts XT 在 iOS 上绘制图表

xcode - iOS sdk,从无符号字符数组渲染图像,CGBitmapContextCreate 返回 NULL