我想调用一个新的视图控制器并从导航控制器堆栈中删除当前的视图控制器.例如.我在控制器A中,我打电话给B.
现在我在堆栈A,B中.现在我想调用C(来自B).我希望堆栈是A,C.
谢谢.
uiviewcontroller uinavigationcontroller viewcontroller navigationcontroller ios
在Appdelegate.h中
我导入了playerviewcontroller两个Appdelegate.h和Appdelegate.m文件.
@class PlayerViewController;
@property(nonatomic)float volumeDelegate;
Run Code Online (Sandbox Code Playgroud)
在Appdelegate.m
@synthesize volumeDelegate;
- (void)volumeChanged:(NSNotification *)notification
{
volumeDelegate =1.0
PlayerViewController *volumeObject=[[PlayerViewController alloc]init];
[volumeObject setVolumeForAVAudioPlayer];
}
Run Code Online (Sandbox Code Playgroud)
在Playerviewcontroller.h中
-(void)setVolumeForAVAudioPlayer;
Run Code Online (Sandbox Code Playgroud)
在Playerviewcontroller.m中
@interface PlayerViewController ()
{
AppDelegate *appdelegate;
}
-(void)viewDidLoad
{
appdelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
}
-(void)setVolumeForAVAudioPlayer
{
[appdelegate.sharedplayer setVolume:appdelegate.volumeDelegate];
NSLog(@"System Volume in player view: %f",appdelegate.volumeDelegate);
}
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我得到volumeDelegate零值如下.
播放器视图中的系统音量:0.000000000
我在这里犯的错误是什么?
我试图理解使用NavigationController在(和没有)ViewControllers之间导航的行为,我在阅读文章和文档时误解了一些事情,所以我决定问他们.
主要问题是:如果我们在Storyboard中有多个NavigationControllers并希望从一个到另一个,会发生什么?(这可以通过我们在常见的VC之间使用segue来实现,我是对的吗?)
据我所知,NavigationController代表了一堆ViewControllers,我们可以在其中弹出并推送这些VC.那么现在我们将第一个NavigationController的VC的"位置"从第二个改为VC,接下来会发生什么?第一个堆栈消失了,现在我们只在第二个堆栈内工作了?如果是这样,是否意味着第一个NavigationController的VC堆栈是否已从内存中删除?
也许我完全误解了某些东西或者可能不是:).我很乐意看到您的回复,并希望向您询问有关导航力学的更多详细问题.
UPDATE
关键在于:假设我们有一个(初始)VC,其中两个按钮代表应用程序的两个独立部分.接下来我们点击第一个按钮然后转到一个NC的RootVC,而不是回到我们的初始VC按下第二个按钮然后转到另一个NC.当我们回到最初的VC时,第一个NC的堆栈发生了什么?最初的"NC"到初始VC的最佳方式是什么?
UPDATE
我试图了解内存会发生什么,以及当前场景中哪些VC等等.如果我们在场景中有一些额外的VC,也许它绝对不重要,也许我们确实需要它们更快地在NC(或只是VC)之间切换.所以我想了解它是如何运作的.
我已经看过类似问题的几个答案,但答案都没有.我有一个应用程序,我需要一切portait除了我有一个照片查看器.在目标菜单的支持方向部分,我只有肖像.如何强制我的一个视图成为风景.它正从导航控制器推入堆栈,但我正在使用故事板来控制所有这些.
iphone orientation uinavigationcontroller viewcontroller ios
我刚刚将Xcode升级到5.0.我对可可还是比较新的所以我希望我忽略了一些基本的东西.基本上我不能让Xcode看到我想用作视图控制器的父类的自定义类.最初我想为tableview控制器创建一个自定义类,但为了简化问题,我尝试使用常规的viewcontrollers,但这也不起作用.
我所做的:
该类根本没有出现在下拉列表中,我也无法自己输入.报告相同问题的许多其他威胁建议关闭/重新打开项目和Xcode,但这对我来说都不起作用.
我试图按照方法强制观察我的观点:
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationLandscapeLeft;
}
- (BOOL)shouldAutorotate{
return YES;
}
Run Code Online (Sandbox Code Playgroud)
两者都没有奏效.请注意,我正在模拟器和iPad上进行测试.
谢谢
我正在制作一个IOS应用程序,我在视图控制器的viewDidLoad方法中调用API.现在我想用来自服务器的数据重新加载相同的视图控制器.有多少种方法可以完成这项任务,最好的方法是什么?请帮我.
谢谢!!
在我的应用程序中,有一个集合视图,显示从Web服务检索的一组图像.每个图像都有标签.因此,该应用程序还可以使用标签过滤图像.
现在我正在尝试向此应用添加推送通知.将新图像添加到服务器时会发送推送通知.这些图像标记为最新.我通过推送通知将该标记作为消息传递,我需要的是当用户点击推送通知以打开应用程序时,它应该将最新的新图像加载到集合视图中.
我已经完成了一半.我收到推送通知,并将消息成功发送到文件中的didReceiveRemoteNotification方法AppDelegate.m.现在我需要将它传递给集合视图所在的视图控制器.我陷入了困境.我无法弄清楚如何将其发送到视图控制器.
我尝试在App委托中声明一个属性,为它分配消息值并从视图控制器中引用它,但它不起作用.我绑定了代表,通知中心,用户默认值但没有任何效果.
任何人都可以告诉我如何做到这一点?
谢谢.
编辑:
这是我的代码.我尝试的最后一种方法是本地通知.
AppDelegate.m
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"PushNotificationMessageReceivedNotification" object:nil userInfo:userInfo];
}
Run Code Online (Sandbox Code Playgroud)
ViewController.m
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(remoteNotificationReceived:) name:@"PushNotificationMessageReceivedNotification"
object:nil];
}
- (void)remoteNotificationReceived:(NSNotification *)notification
{
NSLog(@"Notification: %@", notification.userInfo);
NSString *msg = [[notification.userInfo valueForKey:@"aps"] valueForKey:@"alert"];
self.label.text = msg;
}
Run Code Online (Sandbox Code Playgroud) image push-notification apple-push-notifications viewcontroller ios
我是Swift和iOS开发的新手,我正在寻找如何设置一个主视图,我想要向右滑动第二个视图或向左移动第三个视图.当我在第二个或第三个视图中时,应该可以滑回主视图.
我找到了几个想法如何实现这样的滑动视图:https: //medium.com/swift-programming/ios-swipe-view-with-swift-44fa83a2e078
但是"问题"是,我想从主视图开始,可以向两个方向滑动.(所以用上面的解决方案开始第二个视图)
有谁知道如何做到这一点?
我的问题是我有两个viewControllers连接模态segue像普通A ---> B,A有像textFields,开关,按钮和mapView的控件,我得到userLocation.B目前只有一个按钮和一个mapView,但是当我点击退出按钮时,它确实成功解除了viewController B并显示A只有控件被冻结,不能再点击任何东西,我不知道为什么.有帮助吗?
B代码
import UIKit
import MapKit
import Parse
import CoreLocation
class MapaMososViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {
@IBOutlet weak var mapMozosFollow: MKMapView!
var totlaAutomozo: String!
var fechaRegistro: String!
override func viewDidLoad() {
super.viewDidLoad()
mapMozosFollow.delegate = self
mapMozosFollow.showsUserLocation = true
mapMozosFollow.showsTraffic = false
mapMozosFollow.showsScale = false
print(mapMozosFollow.userLocation.location)
}
override func viewDidAppear(_ animated: Bool) {
self.displayError(error: "Exito", message: "Tu pago ha sido procesado, en unos momentos atenderemos tu orden. Total es de $\(totlaAutomozo!) la fecha registrada \(fechaRegistro!)")
}
override func …Run Code Online (Sandbox Code Playgroud) viewcontroller ×10
ios ×9
swift ×3
iphone ×2
appdelegate ×1
cocoa-touch ×1
image ×1
ios7 ×1
landscape ×1
objective-c ×1
orientation ×1
segue ×1
swipe ×1
view ×1