我有一个ApplicationDelegate实现的协议.我想将它传递给故事板中定义的第一个视图控制器.如何从该方法访问它?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Run Code Online (Sandbox Code Playgroud) 我是故事板的新手,我已经设置了一个从按钮到视图控制器的segue.此视图控制器是自定义子类SFListViewController,具有指定的初始化程序initWithList:.
使用指定的初始化程序是正确初始化视图控制器的唯一方法.但是,当使用segue时,不会调用指定的初始值设定项(显然).
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"Show List"]) {
SFListViewController *listViewController = segue.destinationViewController;
// ????
}
}
Run Code Online (Sandbox Code Playgroud)
如何执行segue调用指定的初始值设定项?
我和佩德罗在这里有同样的问题,但对答案不满意,因为已经有了奖励和奖励,我创造了这个问题,我会尽快添加赏金.
我想在代码中创建或操作segue(以黄色突出显示),以便主视图是MFMasterViewController(以红色突出显示)的多个子类中的任何一个.
做这个时使用笔尖我可以创建一个笔尖,
SharedNib.xib和设置类的MFMasterViewController,然后创建我的子类,比方说MFMasterViewControllerSubclassA,MFMasterViewControllerSubclassB等和然后实例化我想要使用哪个子...Run Code Online (Sandbox Code Playgroud)MFMasterViewControllerSubclassA *controller = [[MFMasterViewControllerSubclassA alloc] initWithNibName:@"SharedNib" bundle:nil];要么...
Run Code Online (Sandbox Code Playgroud)MFMasterViewControllerSubclassB *controller = [[MFMasterViewControllerSubclassB alloc] initWithNibName:@"SharedNib" bundle:nil];等等
关于如何使用故事板来解决这个问题的任何线索?
我不能在Pedro的问题上使用提供的答案,我的子类扩展超出了数据源和委托.
我是iOS开发的新手(尚未创建应用程序),但我向我的朋友寻求建议,该应用程序在市场上拥有非常高评价的应用程序.他说不要使用故事板.
尽管我想听取他的意见,但他们似乎真的很有帮助.
来自Android背景,我不明白为什么我应该使用它们.
我正在使用a UICollectionView显示菜单,并且以非常奇怪的方式选择项目.
这是填充它们的静态数据:
self.menuItems = @[@{@"text" : @"First", @"image" : @"180-stickynote.png"},
@{@"text" : @"Second", @"image" : @"180-stickynote.png"},
@{@"text" : @"Third", @"image" : @"180-stickynote.png"},
@{@"text" : @"Fourth", @"image" : @"180-stickynote.png"},
@{@"text" : @"Fifth", @"image" : @"180-stickynote.png"},
@{@"text" : @"Sixth", @"image" : @"180-stickynote.png"}];
Run Code Online (Sandbox Code Playgroud)
和单元格提供程序,其中自定义子类只是附加到原型单元格并具有a UILabel和a UIImageView:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
CUMenuCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MenuCell" forIndexPath:indexPath];
NSDictionary *cellInfo = [self.menuItems objectAtIndex:indexPath.row];
cell.imageView.image = [UIImage imageNamed:[cellInfo valueForKey:@"image"]];
cell.label.text = [cellInfo valueForKey:@"text"];
return cell;
}
Run Code Online (Sandbox Code Playgroud)
这是do选择行方法,记录标题和项目的行(它们都在第0部分):
- (void)collectionView:(UICollectionView …Run Code Online (Sandbox Code Playgroud) 我一直在网上搜索Stack Overflow几个小时,我无法解决这个问题.这里希望你们都看到我的错误,因为我找不到它.
我刚开始有一个简单的基于故事板的应用程序.最初的ViewController是UITabBarController的一个实例,它带有来自模板的两个虚拟ViewControllers.启动时,我需要检查设备是否已登录到外部服务.如果没有,我将显示一个允许用户进行身份验证的模态ViewController,如果设备已经过身份验证,那么我将只显示FirstViewController.
以下步骤是自创建项目以来我所做的一切:
viewDidLoadUITabBarController子类中手动调用segue当我运行应用程序时,模态segue不会触发,显示UITabBarController的第一个ViewController,我在XCode中得到以下输出:
Warning: Attempt to present <AuthenticateViewController: 0x83c0c10> on <EPTabBarController: 0x83be600> whose view is not in the window hierarchy!
Run Code Online (Sandbox Code Playgroud)
下面的相关代码,实际上是我到目前为止添加的唯一代码.如果截图或其他信息有用,请告诉我.在此先感谢您的帮助.
EPTabBarController,UITabBarController的子类:
#import "EPTabBarController.h"
#import "AuthenticateViewController.h"
@interface EPTabBarController ()
@end
@implementation EPTabBarController
- (void)viewDidLoad
{
[super viewDidLoad];
[self performSegueWithIdentifier:@"authenticationSegue" sender:self];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
Run Code Online (Sandbox Code Playgroud) 我是IOS开发的新手,我很困惑何时使用show segue和何时使用Show detail segue.它们都用于默认的主 - 详细信息项目.
那么我们什么时候使用其中任何一个?什么是最好的使用show segue和何时使用show detail segue?
我有一个简单的启动画面故事板.这是一个UINavigationController以它UITableViewController为根的.它只是显示UITitleBar了应用程序的正确性.
当我使用较大的通话中样式状态栏启动时,启动屏幕的标题栏将被剪切在状态栏后面.启动后,应用程序正确调整大小,以便不剪切标题 - IE 运行时故事板没有问题.
我可以修复此发布剪辑吗?
我注意到的是,启动屏幕故事板似乎没有提供顶部和底部布局指南.我不确定这是否相关.
这是启动屏幕故事板的屏幕截图:
作为一个注释,它没有任何垂直布局约束要附加,我似乎无法使用界面构建器工具为此创建任何约束.
现在,我有一个工作区,里面有两个项目,一个叫"ProjectOne",另一个是"ProjectTwo",如下所示:
他们分别有一个故事板,现在我想通过按下"To Project Two"连接两个故事板,如下所示:
但当我点击按钮时,它会显示出来
"因未捕获的异常而终止应用程序'NSInvalidArgumentException',>原因:'无法在捆绑包中找到名为'two'的故事板NSBundle 8C6A5FDC9E06/ProjectOne.app>(已加载)'"
有可能吗?我寻求这种方法几天但也不知道......
我有一个UILabel,我已经在一个以视图为中心的故事板中.它有一些初始文本"点击登录".
我在登录后将标签的值更改为用户名.一旦我这样做,标签就不再居中,因为UILabel没有改变大小.
如何在界面构建器中使用autolayout执行此操作?
ios ×10
uistoryboard ×10
xcode ×5
ios5 ×2
objective-c ×2
cocoa-touch ×1
ios6 ×1
segue ×1
storyboard ×1