我无法让UISplitViewController在我已编码iPhone部分的通用应用程序中工作.作为一种故障排除方法,我决定从一个新项目开始,只是尝试做一个导致问题的动作,它仍然是.
如果我创建一个通用应用程序并在iPad控制器中创建一个拆分视图(在XIB或代码中),那么它显示为黑色(除非我设置了背景颜色).如果我在仅限iPad的应用程序中进行,它显示就好了.
如果有人可以自己测试,看看他们是否得到同样的东西,或者告诉我哪里出错了,我会很感激.
我得到的是黑屏,而不是拆分视图.相同的代码适用于仅限iPad的项目.我做错了什么,或者配置错了什么?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UISplitViewController *split = [[UISplitViewController alloc] initWithNibName:nil bundle:nil];
UIViewController *vc1 = [[UIViewController alloc] initWithNibName:nil bundle:nil];
vc1.view.backgroundColor = [UIColor redColor];
UIViewController *vc2 = [[UIViewController alloc] initWithNibName:nil bundle:nil];
vc2.view.backgroundColor = [UIColor blueColor];
split.viewControllers = [NSArray arrayWithObjects:vc1, vc2, nil];
[window addSubview:split.view];
[window makeKeyAndVisible];
[vc1 release];
[vc2 release];
[split release];
return YES;
}
Run Code Online (Sandbox Code Playgroud) 我有一种情况,我在内存中有一个大字符串,我想用函数提供这个片段(例如,从30开始给我14个字符串运行).为了使这项工作,我不得不让消费者使用双指针作为他们的缓冲区.
void foo(char** bar)
{
char* tmp = "nope";
*bar = &tmp[1];
}
int main (int argc, char const *argv[])
{
char* baz = "yep";
foo(&baz);
printf("%s", baz);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我查看pread或strcpy等各种库函数,它们只接受一个指针级别的字符串缓冲区.
他们是怎么做到的?看起来他们应该需要一个双指针以同样的方式更改"另一边"的值.