在我的故事板中,我有一个视图作为启动画面.在这个视图中,我已经有一个像"打开应用程序"的按钮,它打开菜单视图,带有模态segue.但是我也希望屏幕自动执行segue,就像2秒后出现视图一样.
一些代码在这里:
- (void)viewDidAppear:(BOOL)animated
{
[self performSegueWithIdentifier:@"splashScreenSegue" sender:self];
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我已经使用performSegueWithIdentifier但它立即执行.有没有办法让它延迟?
提前致谢.
我正在使用此函数在Xcode 4.3中切换视图.
[self performSegueWithIdentifier:@"NextView" sender:self];
Run Code Online (Sandbox Code Playgroud)
我想在页面之间传递一些参数.我怎样才能做到这一点?
properties uiviewcontroller ios uistoryboard uistoryboardsegue
我是iOS开发的新手,我正在尝试同时学习故事板,Swift和iOS 8的新功能.
我创建了一个非常简单的故事板,使用Popover演示文件segue来显示另一个视图.在模拟器上,如果我为iPad运行它,它按预期工作.但是,如果我为iPhone而不是弹出窗口运行它,它会在原始视图的顶部显示全屏视图.这可以; 但是,没有办法解雇它并回到原来的屏幕.
我观看了WWDC 2014视频"228 A Look inside presentation controllers",如果他们完全使用代码构建用户界面,他们可以显示一个关闭按钮.
我还看过"411界面构建器中的新功能"会话,他们说这可以在Interface Builder中完成,但他们没有显示它,承诺在实验室中展示如何做,如果有人感兴趣的话.不幸的是,我没有参加WWDC 2014,或者认识任何人.我的Google搜索也没有返回任何有用的内容.
请原谅我的初学者问题.我知道我可以像这样切换到另一个屏幕(ViewController)
self.performSegueWithIdentifier ("SecondViewController", sender: self)
Run Code Online (Sandbox Code Playgroud)
但我似乎无法找到在哪里指定我的第二个屏幕的id,我只是找到了Storyboard ID,是吗?
我已经尝试过,只是因为以下错误而收到了崩溃:
Receiver()没有带标识符'SecondViewController'的segue
任何的想法?谢谢
这个问题可能看起来有点奇怪,但我无法理解为什么会发生这种情况.
我做的是我重命名了一个自定义segue类,并在"自定义类"下的故事板中反映出来,但它仍然试图调用旧的类.
我已经清理了构建文件夹并在项目中搜索了旧的自定义类名,并且至少在xcode中找不到任何内容.我查看故事板文件,它也不存在.
即使我删除自定义segue所有我得到:
'Could not find a segue class named 'xxxxxxxxx''
Run Code Online (Sandbox Code Playgroud)
事情是我无法理解上面的'xxxxxxxxx',它不在故事板文件或代码中.
[[[self view] viewWithTag:1] resignFirstResponder];
Run Code Online (Sandbox Code Playgroud)
当我调试这是它去线程杀死显示错误的地方.我删除了文本字段中的所有插座,事件和segue.我没有自定义segue使用'xxxxxxxxx'作为任何地方的类.
我还能做些什么来更彻底地清理项目吗?从哪里开始?
我在View Controller中有一个表视图.我可以在表视图中填充所有信息.但是我在设置详细视图时有点迷失.我相信每个表格单元格需要一个segue到每个细节视图但不完全确定.
这是我的代码.从表格视图到详细视图完成segue我缺少什么?码:
.h
@interface DetailViewController : UIViewController <UITableViewDelegate,UITableViewDataSource>
{
IBOutlet UITableView *myTable;
NSMutableArray *contentArray;
}
@property (strong, nonatomic) IBOutlet UITableView *myTable;
.m
- (void)viewDidLoad
{
contentArray = [[NSMutableArray alloc]init];
[contentArray addObject:@"Espresso"];
[contentArray addObject:@"Latte"];
[contentArray addObject:@"Capicino"];
[super viewDidLoad];
// Do any additional setup after loading the view.
}
//Table Information
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [contentArray count];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
if([[contentArray objectAtIndex:indexPath.row]isEqualToString:@"EspressoViewController"])
{
EspressoViewController *espresso = …Run Code Online (Sandbox Code Playgroud) objective-c uitableview uiviewcontroller ios uistoryboardsegue
你怎么能没有推到另一个视图控制器prepareForSegue?
myClassVC *viewController = [myClassVC alloc];
UIStoryboardSegue *segue = [[UIStoryboardSegue alloc] initWithIdentifier:@"pushToMyVC" source:self destination:viewController];
if ([segue.identifier isEqualToString:@"pushToMyVC"]) {
NSLog(@"logging");
myClassVC *viewController = (myClassVC *)[segue destinationViewController];
[self presentViewController:viewController animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud) objective-c uiviewcontroller pushviewcontroller ios uistoryboardsegue
如果我有这个Objective C代码:
[self performSegueWithIdentifier:@"push" sender:self];
Run Code Online (Sandbox Code Playgroud)
和
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"push"]) {
}
Run Code Online (Sandbox Code Playgroud)
什么是Swift等价物?
我遇到了UITableViewCells的问题.我将我的UITableView连接到API以填充我的单元格.
然后我创建了一个函数来抓取数据,indexPath.row以识别应该发送到的数组中的哪个JSON对象RestaurantViewController.
以下是我的小片段如何将"行点击"设置为全局变量.
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
i = indexPath.row
}
Run Code Online (Sandbox Code Playgroud)
这是我的prepareForSegue()功能,应该把我的push-segue挂钩到RestaurantViewController.
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "toRestaurant"{
let navigationController = segue.destinationViewController as UINavigationController
let vc = navigationController.topViewController as RestaurantViewController
vc.data = currentResponse[i] as NSArray
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我如何设置我的segue UITableViewCell

这是我的结果,我试图点击这些单元格中的每一个但我不会被推到另一个viewController ...我也没有得到错误.这有什么不对?

尝试过无法解决的解决方案
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "toRestaurant"{
let vc = segue.destinationViewController as RestaurantViewController
//let vc = navigationController.topViewController …Run Code Online (Sandbox Code Playgroud) 我正在更新应用程序以使用通用故事板.我已经使用界面构建器创建了一个popover segue到一个新的viewcontroller,方法是从一个按钮拖动到我的新viewcontroller并选择'Present As Popover'作为segue的类型.
当用户按下弹出窗口(解除它)时,我需要在呈现视图控制器中得到通知,以便我可以撤消他们的操作.我怎样才能做到这一点?
通常我会手动创建popover并使我的viewcontroller成为popover的委托; 允许我使用popoverControllerDidDismissPopover委托回调.但是,这在iOS9中已被弃用,即使不是我也不知道在哪里找到popover所以我可以将其委托设置为我的视图控制器.
ios ×7
uistoryboard ×5
objective-c ×3
swift ×3
iphone ×2
uitableview ×2
xcode ×2
ios5 ×1
ios8 ×1
ios9 ×1
properties ×1
uipopover ×1