我的应用程序使用位置数据并将其作为表格和地图显示.
它以Tab Bar Controller开始,每个视图都是一个导航控制器(一个用于表视图,一个用于地图等).
我想共享一个UIManagedObject以便使用相同的托管对象上下文,因此如果用户在表视图中更新,则数据也会针对地图进行更新,因此无需更新两次.
最初我想到了将Tab Bar Controller子类化并将UIManagedDocument添加为属性,并将其传递给prepare for segue方法的每个控制器.但我读到UITabBarController并不意味着是子类.
另一种方法可能是创建一个View Controller,将Managed Document添加为属性,并将Tab Bar添加到它.但我认为我的故事板不清楚或不一致,通过图形显示一些关系,而其他人只是在代码中.
哪一个合适?或者有更好的方法吗?
在此先感谢您的问候.
我在cocos2d 2.0中创建了一个项目,并希望使用故事板合并主菜单.
我在tinytimgames.com上试过Jerrod Putnam的教程(我无法提供链接,因为每个帖子只允许新用户2个链接,但如果你谷歌"cocos2d storyboard"这是第一个链接)但它不起作用我.我完全遵循它(我认为).我打开了我的cocos2d项目并从他的github,CCViewController.m和.h导入了文件,然后创建了一个新的storyboard文件,并按照教程进行操作.然而,当我运行它时,它只是直接开始我的cocos2d游戏,而不是我刚创建的新菜单.
我也试过这个教程:http: //zackworkshopios.blogspot.com/2012/06/cocos2d-with-storyboard-example.html 但是它再一次对我不起作用,因为我没有(或者不知道在哪里查找/获取libcocos2d.a和libCocosDenshion.a文件.
这是我从fidgetware尝试的另一个教程:http://fidgetware.com/Tutorials/page15/page15.html 我做了这个教程,但我的项目没有一个名为RootViewController(.m或.h)的文件所以我不确定在哪里放置应该进入这些文件的代码.
还有Ray Wenderlich的教程,但他没有使用故事板.
如果有人能给我一个解决方案,为什么这些都不适合我,或者给我一步一步详细介绍如何将故事板纳入我的cocos2d 2.0项目,我会非常感激.另外我的另一个问题是我应该从一个cocos2d 2.0项目开始并整合故事板,还是应该从一个单一视图应用程序项目(或另一个应用程序项目开始?)并合并我的cocos2d 2.0部分.提前致谢!
objective-c cocos2d-iphone uistoryboard xcode-storyboard xcode4.3
我有一个UIView名为的自定义类MyView,我UIViewController通过故事板配置使用.大多数视图属性都是通过Interface Builder配置的; 但是,在将它们设置为按钮的背景之前,我需要以编程方式调整几个图像,如下所示:
-(void)setupVisuals {
UIImage *image = [[UIImage imageNamed:@"myButton.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 10, 0, 10)];
// _myButton is an IBOutlet property set through the storyboard:
[_myButton setBackgroundImage:image forState:UIControlStateNormal];
}
Run Code Online (Sandbox Code Playgroud)
问题是,我不能把[self setupVisuals]从初始化*,因为_myButton是nil在那个时候.
我加入这行解决了这个问题MyViewController的viewDidLoad:
[(MyView*)self.view setupVisuals];
Run Code Online (Sandbox Code Playgroud)
有了这个电话,一切正常.然而,这感觉就像一个解决方案,而不是解决可能是一个相对常见的问题.
是否有一种UIView方法可以覆盖,或任何其他机制来完成MyView视觉的初始化而不进入viewDidLoad:机制?
initWithCoder:因为视图是从故事板加载的.我验证了初始化程序被正确调用,但视觉效果还没有准备好. 我正在开发具有常见UI元素的iOs应用程序 - 标题(带有自定义按钮),所有场景中的背景图像和页脚.可以使用具有公共元素的故事板设计一个模板场景/视图,并将其用作所有其他场景/ ViewControllers作为基础?在其他场景中,只需将内容添加到空闲位置(图像,表格,......).
我正在考虑使用硬编码元素的常见自定义UIViewController超类,但使用故事板设计UI更容易.
应用程序必须与iOs 5.0兼容
我有一个应用程序在启动时实现Facebook登录,使用与此非常相似的代码:Facebook Scrumptious Tutorial,除了Storyboard.
代码的基本要点是,在应用程序启动时,应用程序委托会检查您是否已经登录,如果是,它会直接进入主视图,如果没有,则要求主视图提供登录查看,以便用户可以登录.
我已经解决了我的另一个问题,能够告诉故事板中的主视图呈现不同的视图,从视图heirarchy获取主视图,然后在视图上调用segue.一切正常,但我有一个最后要解决的问题:
据我所知,应用程序didFinishLaunchingWithOptions方法应该在故事板完全加载后调用.但是在我的代码中,如果我试图告诉主视图呈现另一个视图,它给我一个错误,基本上说它还没有加载(警告:尝试在<UINavigationController上显示<QLoginViewController:0x955c020>:0xa28c6e0>其视图不在窗口层次结构中!).
如果我告诉它在延迟后提出视图:
[self performSelector:@selector(showLoginViewAnimated:) withObject:NO afterDelay:.001];
Run Code Online (Sandbox Code Playgroud)
(其中showLoginViewAnimated:是告诉主视图呈现登录视图的方法),然后它工作正常.
任何人都可以帮我弄清楚这里出了什么问题,以及我怎么能解决它?延迟执行选择器显然是一个糟糕的解决方法,因为我永远不知道不同的设备是否可能需要更长的时间才能加载视图...
这是我的appDelegate didFinishLaunchingWithOptions代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
self.navigationController = (UINavigationController *)self.window.rootViewController;
// Navigation Bar Color
[[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:255.0/255.0 green:128.0/255.0 blue:60.0/255.0 alpha:1.0]];
/* Facebook Login */ // THIS IS THE RELEVANT CODE:
// See if we have a valid token for the current state
if …Run Code Online (Sandbox Code Playgroud) 我正在编写一个抽象的UITableViewController类,我想写一些viewDidLoad类似的东西
if (self.tableView.contentType == UITableViewContentTypeStaticCells) {
// Do something when table view has static cells
} else {
// Do something when table view has dynamic prototypes
}
Run Code Online (Sandbox Code Playgroud)
但显然contentType在UITableView 上没有.有没有办法以编程方式确定tableView的故事板内容是静态还是动态?
我是iOS新手,我正在学习本教程:http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/.我只是将一个拖放Page View Controller到故事板上,并试图将其Image View拖入其中,但它反弹回来,我错过了什么?
我正在使用自动布局和故事板.我尝试更改viewDidLoad中的约束:以便它考虑不同的设备模型.约束成功连接为IBOutlet.
在viewDidLoad中:我改变了这样的约束:
self.containerConstraint.constant = 250
Run Code Online (Sandbox Code Playgroud)
我不想为约束设置动画(我后来设置它的动画并且它工作正常).我只想在viewController出现时设置限制在正确位置的视图.这通常有效,但在这种情况下,它仍然使用故事板中确定的值.这是约束的外观:
我该怎么办?
我想将堆栈视图背景设置为图像.例如,在Android中,如果我使用"线性布局"(相当于UIStackView),我可以将背景图像设置为"线性布局",而不管我添加的内容(视图)是什么.我怎么能用XCode做到这一点?
我有两个故事板(主要和SB2)
我在Main中的故事板中有一个视图控制器,在我执行的SB2中有一个
let SB2 = UIStoryboard(name: "SB2", bundle:nil)
let vc : UIViewController = self.SB2.instantiateViewControllerWithIdentifier("VC2")
self.showViewController(vc, sender: self)
Run Code Online (Sandbox Code Playgroud)
在第二个viewcontroller加载并运行此命令后,它将打印nil:
print(self.navigationController) // prints nil
Run Code Online (Sandbox Code Playgroud)
在SB2(第二个故事板)中,我单击了viewcontroller(VC2),然后单击了Editor> Embed In> Navigation Controller.这将导航控制器与故事板放置,根视图控制器为VC2.我三重检查了这个.连接的第一个标志是顶部的灰色导航栏.第二个是segue将导航控制器连接到VC2,我可以检查的最后一个位置是导航控制器实用程序.
我想也许我不应该直接从VC1转换到VC2而是VC1转换到NavigationController,但我不知道如何做到这一点,或者它是否可能.
我不知道什么时候sb2打印nil时,导航控制器连接到它.任何帮助表示赞赏.
uistoryboard ×10
ios ×7
objective-c ×4
xcode ×2
cocoa-touch ×1
core-data ×1
ios5 ×1
iphone ×1
storyboard ×1
swift ×1
uistackview ×1
uitableview ×1
uiview ×1
xcode4.3 ×1