我正在使用故事板.我有一个带有一个原型单元的UITableView.这个单元格的风格是"副标题".我已经从细胞中添加了一个segue到详细视图.因此,当用户点击一个单元格时,它将打开相应的编辑器......这一切都很有效.
现在我添加了一个UISearchDisplayController和一个UISearchBar,实现了委托.这非常有效.
但是在搜索结果表中,单元格的格式为"默认",并且不可点击.我需要做些什么才能使结果表看起来像"未搜索"表一样?
使用故事板,您无法轻松访问appDelegate中的第一个视图控制器(尽管您prepareForSegue可以轻松地将ManagedObjectContext传递到导航堆栈中.
我已经决定给每个视图控制器(或每个视图控制器的超类)要求Core Data访问一个moc成员:
@synthesize moc = _moc;
@property (nonatomic) __weak NSManagedObjectContext *moc;
Run Code Online (Sandbox Code Playgroud)
我对此感到不安,因为它似乎不是一种非常优雅的方式 - 代码太多了.但直接分配需要在viewControllers数组中指定绝对索引,并在每次ManagedObjectContexts的需求发生更改时更改appDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
// rootView gets a tab bar controller
for(UINavigationController *navController in tabBarController.viewControllers) {
for(UIViewController *viewController in navController.viewControllers) {
if([viewController respondsToSelector:@selector(setMoc:)]) {
[viewController performSelector:@selector(setMoc:) withObject:self.managedObjectContext];
NSLog(@"Passed moc to %@", [viewController description]);
}
}
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
这种方法有哪些缺陷,有更好的方法吗?尝试更通用是否更好:
- (void)assignManagedObjectContextIfResponds:(UIViewController *)viewController {
if([viewController respondsToSelector:@selector(setMoc:)]) {
[viewController performSelector:@selector(setMoc:) withObject:self.managedObjectContext];
NSLog(@"Passed moc to %@", [viewController description]); …Run Code Online (Sandbox Code Playgroud) core-data uitabbarcontroller uinavigationcontroller ios5 uistoryboard
我想在storyboard xcode中为我的表创建searchBar,Everythings适合我,我没有任何错误,只是搜索不起作用.
我看到了这两个教程,但仍然无效.我无法搜索.我的教程:
-http://stackoverflow.com/questions/9897171/uisearchbar-implemented-with-storyboards
-http://www.youtube.com/watch?v=IqDZHgI_s24
Run Code Online (Sandbox Code Playgroud)
你能帮帮我吗,先谢谢你!
这是我的代码
CreateViewController.h
#import <UIKit/UIKit.h>
@interface CreateViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource, UISearchBarDelegate>
{
// @property (weak, nonatomic) IBOutlet UISearchBar *searchBar;
NSArray *datas;
NSMutableArray *displayItems;
IBOutlet UITableView * tableView;
IBOutlet UISearchBar * searchbar;
}
@end
Run Code Online (Sandbox Code Playgroud)
CreateViewController.m
#import "CreateViewController.h"
@interface CreateViewController ()
@end
@implementation CreateViewController
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
datas = [NSMutableArray arrayWithObjects:@"Johan", @"Paul",@"George",@"Ringo", nil];
displayItems = [[NSMutableArray alloc] …Run Code Online (Sandbox Code Playgroud) 简单的故事板设置:UIViewController与UINavigationController.在表格单元格上单击自定义segue将新的UIViewController推送到导航堆栈.都好.但是按下导航栏中的"后退"按钮,它只使用默认的流行动画.
弹出后,如何告诉导航控制器使用我的自定义segue?我已经添加
- (UIStoryboardSegue *)segueForUnwindingToViewController:(UIViewController *)toViewController fromViewController:(UIViewController *)fromViewController identifier:(NSString *)identifier
- (BOOL)canPerformUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender
Run Code Online (Sandbox Code Playgroud)
两个视图控制器,但它们根本没有被调用.
我错过了什么?
你如何识别UIStoryboard?
该类具有创建和实例化的方法,但我没有看到类似的@property name.例如
获取故事板对象
+ storyboardWithName:bundle:
Run Code Online (Sandbox Code Playgroud)
实例化故事板视图控制器
– instantiateInitialViewController
– instantiateViewControllerWithIdentifier:
Run Code Online (Sandbox Code Playgroud)
有什么建议?
====更新
我希望这样的事情self.storyboard.name或者[self.storyboard description],如:
NSLog(@"This Storyboard is: %@", self.storyboard.name);
Run Code Online (Sandbox Code Playgroud)
也许这并不意味着.
我正在使用Storyboard,我正面临着错误,如下所示,我的代码已成功执行,但它们没有页面显示或模拟器中的操作仅在启动图像后显示黑屏.
ClsMainPageAppDelegate.h
#import <UIKit/UIKit.h>
@interface ClsMainPageAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
Run Code Online (Sandbox Code Playgroud)
ClsMainPageAppDelegate.m
#import "ClsMainPageAppDelegate.h"
#import "ClsMainPageViewController.h"
#import "ClsTermsandConditionViewController.h"
@implementation ClsMainPageAppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
NSUserDefaults *fetchDefaults = [NSUserDefaults standardUserDefaults];
int message = [fetchDefaults integerForKey:@"checkvalue"];
NSLog(@"Message Hello : %i",message);
if(message == 1)
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
ClsMainPageViewController *mvc = [storyboard instantiateViewControllerWithIdentifier:@"BeIinformedPage"];
[(UINavigationController*)self.window.rootViewController pushViewController:mvc animated:NO];
NSLog(@"Launched Home Page");
}
else
{
UIStoryboard *storyboard = [UIStoryboard …Run Code Online (Sandbox Code Playgroud) 编辑: 接受/赏金给任何能告诉我如何制作项目的人:
上一个问题变得一团糟,我自己已经解决了这个问题.如果有人想要制作更好的项目版本,赏金仍然可以争夺.
这是一个工作,清洁,随时可用的模板供任何人使用,完整的ARC,COCOS2D 2.1,故事板和一切
仅在iPhone上测试Xcode 4,5,iOS 6,7,但也应该在iPad上运行.
当我努力做到这一点时,我努力寻找这个,所以我希望我能帮助别人.对于自定义文件,可以使用Tiny Tim Games和/sf/answers/826075981/.我稍微修改了这些文件.新手的使用说明在项目自述文件中!:)
我有一个UITableView嵌入在另一个视图中,如下所示:

导航控制器以模态方式显示,因此其布局应为全屏,而不依赖于故事板的任何其他部分.如果已使用固定的自动布局约束设置配置文件视图的上半部分,如下所示:
所以基本上,当屏幕较大时,容器视图应该填充剩余的空间.
在容器视图中,我嵌入了一个Table View(包括相应的控制器).为了使问题更加明显,我给容器视图一个绿色背景,表格视图为蓝色(这就是为什么节标题略微偏蓝).当然,我希望表视图填充整个容器视图.但这只发生在一定程度上:

因此表视图确实填充了整个容器视图(表视图的背景颜色为蓝色),但节标题位于低位.如果我向下滚动,则节标题保持在同一位置,但单元格向上移动并显示在其上方:

我已经尝试检查并取消选中表视图控制器的"扩展边缘"复选框,控制它是否扩展"在顶部条形图下","在底部条形图下"和"在不透明条形图下",但这没有帮助.它看起来好像表视图为导航栏和状态栏留出了空间,但它不应该,我不明白我怎么能使它正确地布局节标题和单元格.
任何想法为什么以及如何解决它?
我有UIView一个UIImageView在最顶部,UILabel下面吧,UIButton下面的是,和UISegmentedControl它决定了决定了嵌入UIview在底部(也可以选择不显示任何在所有)来显示.
我遇到了在界面构建器中设置了所有约束的问题,当我在故事板中切换屏幕尺寸时,一切似乎都很好.但是,当我实际在设备上运行项目或模拟时,UIimage顶部会在"捕捉"到适合约束的大小之前被短暂拉伸.此外,似乎标签在短时间内消失,并在图像捕捉到大小后重新出现.发生"快照"后,一切都已就绪,没有任何问题.
在4英寸和3.5英寸显示器上进行测试时都会发生这种卡扣.我发现这很奇怪,因为我已经为4英寸屏幕设计了完美的用户界面.
有谁知道为什么会这样?
编辑 这里是IB中约束的样子.

uistoryboard ×10
ios ×7
uitableview ×4
objective-c ×3
autolayout ×2
cocoa-touch ×2
core-data ×1
ios5 ×1
ios6 ×1
iphone ×1
storyboard ×1
swift ×1
uisearchbar ×1
xcode ×1