我试图View Controllers在一个特定的两个孩子之间切换Container View.我有一个Navigation Controller菜单(Table View用于制作菜单的不同选项).
每次我点击菜单的一个选项,我想改变的孩子Container View,但我得到上面的孩子Navigation bar和Table View(未示出它们,但它们是新的子视图控制器下).
我的Main.storyboard的方案是这样的:
Navigation Controller --> View Controller (With 2 Container View, 1 for Table View
and the other to set master View Controller)
|
|
------------------------
| |
View Controller Table View
(id: master)
View Controller (id: Home) View Controller (id: screen2)
Run Code Online (Sandbox Code Playgroud)
我在tableView函数上有以下代码(我在其中检测单击菜单的选项时)来更改容器视图的子视图控制器:
let currentController = self.navigationController?.visibleViewController //container
var oldChild = (currentController?.childViewControllers.last!)! as UIViewController //master
let …Run Code Online (Sandbox Code Playgroud) uinavigationcontroller ios uistoryboardsegue uicontainerview swift
所以我有一个UITableView,并且单元格连接到UIStoryboardSegue以便打开一个新的UIViewController.单击一个单元格后,prepareForSegue调用一切正常.
问题:在下面的方法中,我怎么知道TableView中所选单元格的indexPath是什么?
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
ObjectDetailViewController *mvc = [segue destinationViewController];
// PassingObject *obj = [self.array objectAtIndex: ? ];
mvc.passingObject = obj;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Xcode 4.5和iOS 6.
我正在构建一个使用故事板的通用应用程序.我有一个视图控制器,在导航栏中有一个按钮.当点击按钮时,我使用segue将另一个视图控制器呈现为模态.模态视图控制器的导航栏中有"取消"和"保存"按钮.在故事板中,模态按钮项链接到新的Exit操作上的操作,该操作应该解开到父视图控制器,关闭模态,并调用操作处理程序.
这在iPhone上工作正常,但我在iPad上看到了问题.在iPad上,当模式以全屏显示时,一切正常.当我将模式更改为页面表或表单(这是我的情况下所需的行为)时,将调用操作处理程序,但模式视图控制器不会自动被解除.
有没有人见过这种行为?你有没有做过修复它的事情?
谢谢.
我有两个UIViewControllers,按钮互相触发segue(模态).我想发现这是否会在来回跳跃时导致任何内存泄漏,我发现Living Object &&分配的内存正在上升,最终将导致应用程序崩溃.我没有任何单行代码 - 使用纯UIViewControllers.



我可能做错了什么?
我可以在项目设置中设置错误吗?
我是否正在阅读探查者的统计数据?
使用segues时是否需要发出任何特殊的释放命令?
cocoa-touch uiviewcontroller ios uistoryboard uistoryboardsegue
我有两个segue's导致相同viewController.有2个按钮viewController使用2个segue 连接到同一个按钮.在那viewController我需要检查点击了哪个按钮.所以实际上我需要检查使用/预制的segue.我如何在viewControllers类中检查这个?我知道有prepareForSegue方法,但是我不能将它用于我的目的,因为我需要把它放在prepareForSegue2个按钮所在的类中,我不希望它在那里,但我想在viewControllers课堂上因为我需要访问它并在该类中设置一些变量.
我创建了UIAlertView一个动作,它给了我两个选项.我希望用户能够点击按钮并让它执行Segue.
这是我到目前为止的代码:
- (IBAction)switchView:(id)sender
{
UIAlertView *myAlert = [[UIAlertView alloc]
initWithTitle:@"Please Note"
message:@"Hello this is my message"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:@"Option 1", @"Option 2", nil];
[myAlert show];
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
NSString *buttonTitle = [alertView buttonTitleAtIndex:buttonIndex];
if ([buttonTitle isEqualToString:@"Option 1"]) {
}
}
Run Code Online (Sandbox Code Playgroud) 我想简单地在我的目标视图控制器上设置标题,以便它在prepareForSegue:方法的导航控制器的导航栏中显示,但是设置它的标题或navigationItem如下:
[segue.destinationViewController setTitle:@"doesn't work"];
[segue.destinationViewController.navigationItem setTitle:@"this either"];
不起作用可能是因为目标的视图控制器的视图尚未加载.我可以不创建自定义目标视图控制器吗?
如何将Typhoon与iOS故事板一起使用,其中视图控制器由系统隐式生成?我是否必须在prepareForSegue方法中做一些特别的事情?
我正在使用swift的SWRevealController,它正在考虑如何,但我想稍微调整一下.
当您拿出菜单时,通过滑动或按下按钮,在将主视图控制器推到一侧时会出现新视图.
我想要做的是滑过主视图控制器,以便主视图控制器保持原位,新的视图控制器滑过它顶部.
那有意义吗?我能想到的唯一例子是针对Android 的Reddit新闻应用程序.滑出菜单不会影响主视图控制器,它只是在它上面滑出.(我知道它在Android中有所不同)
使用SWRevealViewController类时可以这样做吗?
我遇到了一个不寻常的行为,我被卡住了一点,问题如下.
我正在使用BWWalkthrough库,以便将4张幻灯片作为启动画面.所以在我的appdelegate中,我有以下代码初始化viewcontrollers:
let storyboard = UIStoryboard(name: "SlidesFlow", bundle: nil)
let walkthrough = storyboard.instantiateViewController(withIdentifier: "SlidesView") as! BWWalkthroughViewController
let page_zero = storyboard.instantiateViewController(withIdentifier: "page_1")
let page_one = storyboard.instantiateViewController(withIdentifier: "page_2")
let page_two = storyboard.instantiateViewController(withIdentifier: "page_3")
let page_three = storyboard.instantiateViewController(withIdentifier: "page_4")
walkthrough.delegate = self
walkthrough.addViewController(page_zero)
walkthrough.addViewController(page_one)
walkthrough.addViewController(page_two)
walkthrough.addViewController(page_three)
Run Code Online (Sandbox Code Playgroud)
一切都按预期工作,所以这里没问题.在viewController page_three上我有一个按钮,使用自定义segue动画将我重定向到另一个视图控制器
class sentSegueFromRight: UIStoryboardSegue {
override func perform()
{
let src = self.source as UIViewController
let dst = self.destination as UIViewController
src.view.superview?.insertSubview(dst.view, aboveSubview: src.view)
dst.view.transform = CGAffineTransform(translationX: src.view.frame.size.width, y: 0)
UIView.animate(withDuration: 0.25,
delay: 0.0,
options: UIViewAnimationOptions.curveEaseInOut, …Run Code Online (Sandbox Code Playgroud) ios ×9
uistoryboard ×4
objective-c ×2
segue ×2
swift ×2
cocoa-touch ×1
ios6 ×1
iphone ×1
storyboard ×1
swift3 ×1
typhoon ×1
uialertview ×1
uitableview ×1
xcode8 ×1