在我的内部我viewDidLoad想要一些基于前一个控制器的自定义代码.
如何在目标控制器的viewDidLoad中访问segue源控制器或先前的segue标识符来处理此问题?
在我的应用程序中,有一个集合视图,显示从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) 我正在尝试将PKRevealController集成到我的现有项目中.
https://github.com/pkluz/PKRevealController
如果我正在使用故事板,如何设置左视图控制器,右视图控制器和前视图控制器?自述文件说...
PKRevealController *revealController = [PKRevealController revealControllerWithFrontViewController:frontVC leftViewController:leftVC options:options];
self.window.rootViewController = revealController;
Run Code Online (Sandbox Code Playgroud)
我会在现有的故事板项目中将这些代码行放在哪里?或者有没有其他选择来设置它?
谢谢!
我有一个单独的视图应用程序,并希望在按右侧的导航栏按钮时显示一个新的ViewController.我通过以下代码调用此VC:
- (IBAction)createEntryButton:(id)sender {
CreateEntryViewController *vc2 = [[CreateEntryViewController alloc] init];
[self presentViewController:vc2 animated:TRUE completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
然而,这个动画vc2从底部带来了根据我的UI看起来反直觉的内容.所以我的问题是:
如何使用presentViewController从右侧而不是底部显示我的vc2?
谢谢.
我怀疑需要清楚..我有堆栈和导航控制器.现在当堆栈加载时viewDidLoad viewWillAppear viewDidAppear将被调用.当我点击一些按钮然后这个按钮把我推到新的堆栈,现在新的堆栈给了我后面的选项..现在当我点击导航控制器的背面viewWillAppear..为什么只会被调用..为什么不viewDidLoad和不viewDidAppear
好的,这就是我遇到的问题:
我试图从viewController我命名的MenuViewController包含我的菜单的那个(显然)切换.我有一个单独的viewController名字ViewController,包含我的mapView.我希望能够增加一倍手指swipe left从我MenuViewController到我mapView.
我不确定从哪里开始.
另外,我使用的是xib文件,而不是故事板.运行iOS 6.
我正在开发一个iOS应用程序,现在我很茫然.我正在尝试将数据从第一个View Controller传递到TabBarViewController的第一个选项卡(使用storyboard).我发现了很多教程,解释了如何在视图控制器之间传递数据,但是我的标签栏没有任何效果.我知道标签栏控制器包含一种视图数组.视图控制器和标签栏控制器之间的关系使用segue(推送)实现.所以,我认为使用prepareForSegue()方法很容易.像那样:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([[segue identifier] isEqualToString:@"tab"]) {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,标签栏控制器和每个标签栏视图之间的关系并不真实.这只是一种"关系".这意味着,我没有能够用于上述方法的segue标识符.在这种情况下是否有可能使用prepareForSegue?如果没有,任何想法如何解决这个问题?我知道有一个类似的问题,但答案并没有那么有用.我是否必须为标签栏控制器中的每个选项卡(视图)创建一个新文件?或者是否可以为整个标签栏控制器设置一个类(m.&h.),使用objectAtIndex()访问多个视图?
提前致谢!
我在Story Board中有两个这样的观点:
[View1] - > [导航控制器] - > [View2]
要从View1(具有tableview)转到View 2,我在View1上单击一行时执行此操作:
self.performSegueWithIdentifier("showmyview2", sender:self)
Run Code Online (Sandbox Code Playgroud)
这有效.
现在我在View 2上有一个按钮,当点击它时应该带我回到之前的视图,即View 1.
我试过这个:
navigationController!.popViewControllerAnimated(true)
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我如何回到第一个视图?
ios ×10
viewcontroller ×10
objective-c ×3
swift ×3
iphone ×2
storyboard ×2
image ×1
ios5 ×1
segue ×1
swipe ×1
uistoryboard ×1
view ×1