草庐IT

UINavigationcontroller

全部标签

ios - UINavigationController - 获取交互式弹出手势识别器进度

我有TabBarController,它有自定义中心按钮(UIButton)。这里的目标是在用户从其他ViewController返回到TabBarController时为其不透明度设置动画。所以我想要实现的是开始将中心按钮的不透明度设置为从0到1的动画,具体取决于用户滑动的“距离”。我正在使用interactivePopGestureRecognizer,因此检测边缘“进度”的滑动对于我的情况来说是理想的。或者还有其他方法吗?也许检测topViewController可见性? 最佳答案 我刚刚通过添加自定义目标解决了这个问题sel

ios - iOS 中的静态/固定导航栏

我的应用程序中有一个导航Controller和一个CollectionView。还有一个问题:我在导航栏中使用大标题,所以里面的所有内容都不是静态的。当我滚动CollectionView单元格时,标题(我使用UILabel()手动创建它以根据需要在导航栏内移动它)和按钮向上移动并且导航栏采用iOS10的形式导航栏,我的意思是它的高度。你可以在这里看到它:我的导航栏的“首选大标题”开启的正常状态:当我滚动我的CollectionView时,一切都会上升:那么问题很简单:如何让导航栏的力高度恒定?我希望它即使在滚动时也能固定。有什么想法吗?可能吗?第二个问题,如果第一个是不可能的:我的问题

swift - 使用 Swift 将工具栏添加到 UITableViewController

我想在表格View的底部添加一个工具栏。在这个stackoverflowpost我了解到“如果您的UITableViewController嵌入到UINavigationController中,则导航Controller会附带一个工具栏。您不需要添加自己的工具栏。”。该帖子的作者继续列出objective-c代码以使其可见。我可以被引导到一个教程或示例来演示将用于同一件事的快速代码吗?我是iOS应用程序和Xcode的新手,边学边学。 最佳答案 要使工具栏可见,只需在viewDidLoad中使用此函数即可:self.navigatio

swift - setNavigationBarHidden(Bool, Bool) 动画的默认时间间隔

Swift动画的默认时间间隔是多少,例如的setNavigationBarHidden(Bool,animated:Bool)和setToolbarHidden(Bool,animated:Bool)方法>UINavigationController类?我想知道我的动画是否匹配相同的持续时间。 最佳答案 来自Appledocs:UINavigationControllerHideShowBarDurationAglobalconstantthatspecifiesapreferreddurationwhenanimatingthen

ios - 如何在 Swift 中调用 UIViewController 的扩展函数

我正在尝试使我的导航栏透明。当我在同一个ViewController中创建函数时它会起作用,但是我想在许多其他ViewControllers中重用它所以我决定使用extension扩展UINavigationController。当我尝试将函数调用到ViewDidLoad中时,它不起作用。importUIKitclassStudentsViewController:UIViewController{overridefuncviewDidLoad(){super.viewDidLoad()self.navigationController?.makeNavigationBarTransp

ios - 从 Split ViewController 中的 Master ViewController 转到另一个 View Controller

我有一个SplitViewController,其中一个UITableViewController作为masterViewController,一个UIViewController作为detailViewController。当用户点击一个单元格时,我需要推送到一个新的UITableViewController。所以我从单元格添加了一个segue到UITableViewController。但是UITableViewController被添加到masterViewController的堆栈中。如何从masterViewController推送到一个全新的UITableViewContr

ios - 使用 popViewController SWIFT 时调用 viewdidload

我有一个导航ViewController,我正在使用popViewControllerAnimated(true)来显示之前显示的ViewController。它有效,但我需要调用之前显示的ViewController的viewDidLoad来重新加载TableView。使用popViewControllerAnimated(true)时,不会调用viewDidLoad。那我该怎么调用呢。 最佳答案 您可以在View生命周期中使用viewDidAppear或viewWillAppear方法重新加载tableview中的数据。

ios - 带有大标题的 UINavigationbar 弹出动画故障

我有一个启用大标题的ViewController,然后导航到另一个禁用大标题的ViewController,并在其导航栏上附加了一个uisearchcontroller。当我回到以前的Controller时,有一个糟糕的用户界面故障,它很容易被发现并且看起来很糟糕。有谁知道如何修复它?在第二个ViewController中:navigationController?.navigationBar.prefersLargeTitles=falsenavigationItem.searchController=searchControllerLinktothegifthatshowstheu

ios - 从我在 swift 中使用模态打开的 viewController 访问 navigationController

我正在使用navigationController(推送和弹出),但在特殊情况下,我必须使用模态segue显示下一个viewcontroller,当我关闭该模态时,我想弹出navigationController中的最后一个viewController,然后推送一个新的在解除模态后出现,我如何从模态viewController访问充满viewController的navigationController我可以将navigationController中的最后一个元素作为模态的prepareForSegue中的self发送,但我想问是否有另一种方法,抱歉,我的问题总是很复杂

swift - iOS 11 - Navigationbar 大标题自定义偏移量

是否可以更改大导航栏标题的x偏移量?我想将x偏移量更改为36pt。 最佳答案 刚刚发现在最新的iOS12版本中,如果单纯修改UINavigationBar的layoutMargins属性,会影响大标题。letnavigationBar=navigationController.navigationBarnavigationBar.layoutMargins.left=36navigationBar.layoutMargins.right=36我尝试了这里提到的关于使用自定义NSMutableParagraphStyle的解决方案。这