相关疑难解决方法(0)

设置导航控制器中后退按钮的操作

我正在尝试覆盖导航控制器中后退按钮的默认操作.我已经在自定义按钮上提供了一个目标操作.奇怪的是,当通过backbutton属性分配它时,它不会注意它们,它只是弹出当前视图并返回到根:

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
                                  initWithTitle: @"Servers" 
                                  style:UIBarButtonItemStylePlain 
                                  target:self 
                                  action:@selector(home)];
self.navigationItem.backBarButtonItem = backButton;
Run Code Online (Sandbox Code Playgroud)

当我把它通过leftBarButtonItemnavigationItem调用我的动作,但是那么按钮看起来像一个普通的圆而不是一个带箭头的后面一个:

self.navigationItem.leftBarButtonItem = backButton;
Run Code Online (Sandbox Code Playgroud)

在返回根视图之前,如何让它调用我的自定义操作?有没有办法覆盖默认的后退操作,还是有一种方法在离开视图时总是被调用(viewDidUnload不这样做)?

iphone cocoa-touch uinavigationcontroller uibarbuttonitem ios

177
推荐指数
7
解决办法
16万
查看次数

检测导航栏上按下"后退"按钮的时间

我需要在导航栏上按下后退按钮(返回上一屏幕,返回父视图)按钮时执行一些操作.

是否有一些方法可以实现捕获事件并触发一些操作以在屏幕消失之前暂停和保存数据?

iphone xcode objective-c ios

120
推荐指数
8
解决办法
12万
查看次数

如何更改弹出窗口的大小

我无法更改popover演示文稿的大小.这是我到目前为止所拥有的

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) // func for popover
{
    if segue.identifier == "popoverView"
    {
        let vc = segue.destinationViewController

        let controller = vc.popoverPresentationController

        if controller != nil
        {
            controller?.delegate = self
            controller?.sourceView = self.view
            controller?.sourceRect = CGRect(x:CGRectGetMidX(self.view.bounds), y: CGRectGetMidY(self.view.bounds),width: 315,height: 230)
            controller?.permittedArrowDirections = UIPopoverArrowDirection(rawValue: 0)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,所有这一切都是以弹出窗口为中心并移除箭头,这很好.但它没有调整容器的大小.任何帮助将不胜感激.谢谢.

当我使用preferredContentSize时,我收到错误"无法分配给属性:'preferredContentSize'是不可变的"

popover ios swift

25
推荐指数
4
解决办法
3万
查看次数

Swift:按下Back时调用的函数

当用户按下导航控制器上的“后退”按钮时,我想执行一些操作。发生这种情况时会调用Swift函数吗?

在此处输入图片说明

swift

5
推荐指数
2
解决办法
5896
查看次数

导航栏后退按钮的操作

当用户单击后退按钮时,我想显示带有确认的警报。这就是我尝试添加动作的方式。

self.navigationItem.hidesBackButton = true
let newBackButton = UIBarButtonItem(title: "<", style: UIBarButtonItemStyle.plain, target: self, action: #selector(ViewController.save(sender:)))
self.navigationItem.leftBarButtonItem = newBackButton
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我想要默认的后退按钮图像而不是自定义标题。怎么做 ?

我也尝试了以下代码:

self.navigationItem.backBarButtonItem?.action = #selector(ViewController.save(sender:))
Run Code Online (Sandbox Code Playgroud)

...但动作也没有执行。

ios swift

3
推荐指数
1
解决办法
1万
查看次数

按下导航后退按钮时返回根目录

我有方法检查何时按下导航栏中的后退按钮,并且该方法返回到根页面,但由于某种原因,它只self.navigationController?.popToRootViewController(animated: true)返回到上一页。有谁知道按下导航栏后退按钮时如何返回根目录?

override func didMove(toParentViewController parent: UIViewController?) {
    super.didMove(toParentViewController: parent)

    if parent == nil{
        self.navigationController?.popToRootViewController(animated: true)

    }

}
Run Code Online (Sandbox Code Playgroud)

这个问题中,他问如何使用什么方法来自定义后退按钮。在我的代码中,它能够检测用户何时按下后退按钮,并 self.navigationController?.popToRootViewController(animated: true) 假设将页面带回根页面,但是系统中存在某些内容阻止我的应用程序返回根页面。

ios swift

0
推荐指数
1
解决办法
1506
查看次数