我有一个应用程序,它有一个名为store的视图.在此视图中,有一个加载DetailView的按钮.问题是此详细视图无法加载/显示.这是我使用的代码:
-(void)knop:(id)sender{
categoryView = [[CategoryView alloc] init];
//show detail view using buttonDetail...
[self.navigationController pushViewController:categoryView animated:YES];
[categoryView release];
NSLog(@"Button is working");
}
Run Code Online (Sandbox Code Playgroud)
日志"按钮正在工作"日志,因此也会触发pushViewController行.
categoryView是在我的.h文件中制作的:
CategoryView IBOutlet *categoryView;
}
@property (nonatomic, retain) IBOutlet CategoryView *categoryView;
Run Code Online (Sandbox Code Playgroud)
在store.xib中有一个UIViewController,其出口链接到categoryView出口.
在我的应用程序的其他地方这是有效的,我似乎无法找出为什么这个不是
任何帮助,将不胜感激!日Thnx
iphone objective-c uinavigationcontroller pushviewcontroller ios
我有这个代码
PlaceViewController *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"PlaceView"];
[self presentViewController:newView animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
我可以更改视图,但是当我在此页面返回时,我会推动此视图,状态仍然存在.
我试着把这段代码:
[self.navigationController pushViewController:newView animated:YES];
Run Code Online (Sandbox Code Playgroud)
但什么也没做.
谢谢
在我的一些应用程序设计中或仅仅是一些UIViews,在navigationController的pushViewController之后,我的新视图将被移出窗口状态栏的高度.因此,我将此代码存根放在viewDidLoad方法中.
CGRect frameAt = [self.view frame];
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
frameAt.origin.y += statusBarFrame.size.height;
[self.view setFrame: frameAt];
Run Code Online (Sandbox Code Playgroud)
这对我来说没有意义,这是XCode和Interface Builder的意图,所以我怀疑在我的视图设计中我正在做一些根本错误的SDK.此外,在极少数情况下,我不必改变观点,我真的不知道两种设计方法的区别.
另请注意,大多数情况下,我尝试使用IB设计我的视图,并进行一些小的自定义.
有没有其他人遇到这个并知道如果没有这样的代码存根他们会做什么修复?
我知道有三种方法可以在iOS中更改视图
1.
[self addChildViewController:thirdViewController];
[contentView addSubview:thirdViewController.view];
Run Code Online (Sandbox Code Playgroud)
2.
First * sVC = [[First alloc] initWithNibName:@"First" bundle:[NSBundle mainBundle]];
[self presentModalViewController:sVC animated:YES];
Run Code Online (Sandbox Code Playgroud)
3.
MyViewController *sampleViewController = [[[MyViewController alloc]initWithXXX] autorelease];
[self.navigationController pushViewController: sampleViewController animated:true];
Run Code Online (Sandbox Code Playgroud)
pushViewController需要导航控制器,我理解.但是,何时使用addChildViewController和presentModalViewController?
view addchild pushviewcontroller presentmodalviewcontroller ios
我想构建一个用于在iPhone上播放本地音频文件的应用程序但我仍然坚持使用我的一些代码.我想知道如何推送视图,回到uitableviewcontroller并使用一个按钮(如媒体播放器中的"NOW PLAYING"按钮)返回视图,而不会将任何新字符串推入其中.
谢谢
我应该从我的代码中更改什么?
在uitableviewcontroller ..
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
*)indexPath {
selectedSong = [directoryContent objectAtIndex:indexPath.row];
NSString *storyLin = [[directoryContent objectAtIndex:[indexPath row]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
patch = [NSString stringWithFormat:@"/%@", storyLin];
myDetViewCont = [[mPlayerViewController alloc] initWithNibName:@"mPlayerViewController" bundle:nil];
myDetViewCont.myProgLang = selectedSong; // assigning the correct value to the variable inside DetailViewController
[self.navigationController pushViewController:myDetViewCont animated:YES];
[myDetViewCont release]; // releasing controller from the memory
}
Run Code Online (Sandbox Code Playgroud)
在mPlayerViewController.m中
-(IBAction) backtoplayer{
myDetViewCont = [[mPlayerViewController alloc] initWithNibName:@"mPlayerViewController" bundle:nil];
}
Run Code Online (Sandbox Code Playgroud) iphone xcode uitableview uinavigationcontroller pushviewcontroller
我的设置很简单,我的问题不是来自非常不同的这一个.但是为了更好地解释它我在这里发布:
NavController -> VC1 -> VC2
Run Code Online (Sandbox Code Playgroud)
VC1是NavController的根视图控制器.VC2可通过VC1的Push segue访问.
我想在VC1中检测是否:
它直接作为根视图控制器出现(通过Push)它是由于VC2被弹出而出现的
我阅读的文档说下面应该告诉我以后是否属实.
isMovingToParentViewController == NO
Run Code Online (Sandbox Code Playgroud)
然而事实并非如此,并且上述情况总是证明是正确的.这意味着,(self.isMovingToParentViewController == NO)总是在发生.
这是我的代码:
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationController.navigationBarHidden = YES;
//pushed to stack
if (self.isMovingToParentViewController == YES)
{
//First time
}
else
//popped off
{
//via Pop from VC2
}
}
Run Code Online (Sandbox Code Playgroud)
viewDidAppear的情况也是如此.
事实上检查,我在开始时放置断点,并在两种情况下检查以下所有都是FALSE:
([self isMovingFromParentViewController])
([self isMovingToParentViewController])
([self isBeingPresented])
([self isBeingDismissed])
Run Code Online (Sandbox Code Playgroud)
怎么了?我的故事板里有什么东西可以搞定吗?请帮忙...
uinavigationcontroller popviewcontroller pushviewcontroller ios
我有一个视图,它是tabBarController的一部分.在这个视图中,我有一个带有表格的子视图.单击此表中的单元格时,我想访问父视图的navigationController.这可能 - 如果是的话,怎么样?
我以为会是
BandDetailViewController *bandDetailViewController = [[BandDetailViewController alloc] initWithNibName:@"BandDetailViewController" bundle:nil];
bandDetailViewController.band = [thisDay objectAtIndex:indexPath.row];
[super.navigationController pushViewController:bandDetailViewController animated:YES];
[bandDetailViewController release];
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
iphone sdk subview uinavigationcontroller pushviewcontroller
我在使用导航堆栈推送视图时遇到了一些问题.
我遇到的问题是,在触摸标签栏项后,视图控制器被推入导航堆栈(来自名为FirstViewController的视图控制器),如下所示:
- (void)viewDidLoad
{
[super viewDidLoad];
svc = [[SecondViewController alloc] init];
[self.navigationController pushViewController:svc animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
这可以按预期工作,但是当再次触摸相同的标签栏项时会出现实际问题.
当发生这种情况时,当前视图(之前推送的SecondViewController)被删除,就像我将触摸"完成"按钮一样.
我无法追踪发生的地点或原因.
编辑:这是我设置标签栏,查看控制器和导航的方式:
@implementation AppDelegate
@synthesize HomeViewController, FirstViewController, SecondViewController, ThirdViewController, SettingsViewController, tabBarController, window;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
FirstViewController *firstViewController = [[FirstViewController alloc]
initWithNibName:nil bundle:nil];
UINavigationController *firstViewControllerNav = [[UINavigationController alloc]
initWithRootViewController:firstViewController];
SecondViewController *secondViewController = [[SecondViewController alloc]
initWithNibName:nil bundle:nil];
UINavigationController *secondViewControllerNav = [[UINavigationController alloc]
initWithRootViewController:secondViewController];
ThirdViewController *thirdViewController = [[ThirdViewController alloc]
initWithNibName:nil bundle:nil];
UINavigationController *thirdViewControllerNav = …Run Code Online (Sandbox Code Playgroud) 当我推动另一个隐藏了hidesBottomBarWhenPushed底部栏的视图控制器时,我得到了一个非常奇怪的动画行为.我找到的第一个帖子是:在iOS 7上使用hidesBottomBarWhenPushed在app内置目标<= iOS 6时的奇怪动画,但由于我的应用程序仅在iOS7上构建和运行,因此我的问题并非如此.
请参阅以下显示问题的视频(请参见右上角):
https://dl.dropboxusercontent.com/u/66066789/ios7.mov
仅当hidesBottomBarWhenPushed为true时才会出现这种奇怪的动画阴影.我该如何解决这个问题?
objective-c uitableview uiviewcontroller pushviewcontroller ios7
我有VC,我想推动它并看到它下面的VC.
如果我以模态方式呈现(在UIViewController上显示clearColor UIViewController),我可以这样做
但是可以通过推送VC实现这个功能吗?或者我需要创建自定义过渡?
uiviewcontroller uiview uinavigationcontroller pushviewcontroller ios
ios ×6
iphone ×4
objective-c ×3
uiview ×3
uitableview ×2
addchild ×1
ios7 ×1
sdk ×1
statusbar ×1
storyboard ×1
subview ×1
view ×1
xcode ×1
xcode4.5 ×1