标签: viewcontroller

在视图控制器之间传递数组?

我真的需要一些帮助!

我试图将数组从一个视图控制器传递到另一个视图控制器.我认为后者是一个"孩子"视图控制器?

我的代码如下:

MainViewController.h:

#import <UIKit/UIKit.h>
#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>

@interface HelloWorldIOS4ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, UITextFieldDelegate, AVAudioPlayerDelegate> {
    NSMutableArray  *countProductCode;
    UIPopoverController *detailViewPopover;
}

@property (nonatomic, retain) NSMutableArray  *countProductCode;

@property (nonatomic, retain) UIPopoverController *detailViewPopover;

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
...
@end
Run Code Online (Sandbox Code Playgroud)

MainViewController.m

#import "HelloWorldIOS4ViewController.h"
#import "JSON.h"
#import "PopoverContentViewController.h"

@implementation HelloWorldIOS4ViewController

@synthesize detailViewPopover;
@synthesize countProductCode;

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{
    NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

    NSDictionary *results = [jsonString JSONValue];
    NSLog(@"RETURN: %@", results);

    [countProductCode removeAllObjects];

    NSArray *products = …
Run Code Online (Sandbox Code Playgroud)

iphone nsarray viewcontroller ipad ios

0
推荐指数
1
解决办法
7387
查看次数

更改Master-Detail-Application的初始View Controller

我在Master-Detail-Application上创建了一个新的iPhone项目.由于我之前需要登录,我在故事板上添加了一个新的ViewController,勾选了" 是初始视图控制器 "并将新创建的类LoginViewController分配给此ViewController.

此外,但不相关(在我看来),我创建了一个segue并将其从ViewController连接到NavigationController(Master-Detail-Template).

AppDelegate.m改为在启动时推出新的控制器:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.

    /* // Old Master-Detail-View-Controller
    UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
    MasterViewController *controller = (MasterViewController *)navigationController.topViewController;
    controller.managedObjectContext = self.managedObjectContext;
     */

    (LoginViewController *)self.window.rootViewController;

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

这将最终出现错误:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: '-[UICollectionViewController loadView] loaded the "Qn5-Rj-iPA-view-IRE-eP
-ILZ" nib but didn't get a UICollectionView.'
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // …
Run Code Online (Sandbox Code Playgroud)

launch storyboard master-detail viewcontroller ios

0
推荐指数
1
解决办法
3522
查看次数

弹出方向改变

在此应用程序中启动纵向模式.

在此输入图像描述

.在此输入图像描述

代码段

NSInteger heightOne;
    NSInteger heightTwo;
    NSInteger imgV;
    CGRect Bounds = [[UIScreen mainScreen] bounds];
if (Bounds.size.height == 568) {
    // code for 4-inch screen
    heightOne = 480+38;
    heightTwo = 240+38;//370
    imgV = 360;

} else {
    // code for 3.5-inch screen
    heightOne = 480;
    heightTwo = 240;//330
    imgV = 310;

}

UIView *firstView = [[UIView alloc] initWithFrame:CGRectMake(00, 00,320,heightOne)];
firstView.opaque = NO;
firstView.tag = 1000;
firstView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];
[self.view addSubview:firstView];



UIImageView *img = [[UIImageView alloc]initWithFrame:CGRectMake(250,imgV,50,50)];
img.image = [UIImage …
Run Code Online (Sandbox Code Playgroud)

iphone screen-orientation viewcontroller ios

0
推荐指数
1
解决办法
809
查看次数

UIviewController不会触发自己的委托类

我不是Interface Builder的常规用户.我正在尝试使用a创建一个新的UIViewController类xib.比方说,我创建了一个名为控制器,myViewController当我创建,Xcode创建3个文件,myViewController.h,myViewController.mmyViewController.xib,但xib只包含一个视图.它不应该包含viewController吗?

无论如何,我正在启动那个视图控制器init(是的,我试过initWithNibName),问题是它自己的委托方法喜欢viewDidAppearviewDidLoad不在它自己的类上触发.

是不是应该在myViewController.xib和之间有代理链接myViewController.m?怎么了?

view viewcontroller ios

0
推荐指数
1
解决办法
48
查看次数

Xcode 6.2中没有"是初始视图控制器"

Xcode 6.2没有"是初始视图控制器"选项.

Xcode 6.1

在此输入图像描述

Xcode 6.2

在此输入图像描述

任何的想法?

xcode viewcontroller

0
推荐指数
1
解决办法
894
查看次数

从swift中的单独类访问label.text

我有一个带有按钮的viewController,允许用户从URL下载文件.为了保持我的代码清洁,我创建了一个从我的视图中调用的下载类.它工作正常但现在我想为用户提供有关下载的一些UI提示.

假设我有一个标签,我想在下载结束后将其文本更改为"已下载".应该怎么做?

这是我的代码:

FileViewController

@IBOutlet weak var downloadLbl: UILabel!

func downloadFile(sender:UIButton!)
    {      
        fileDownloader().download_zip(datastring, destination: path, name: naming, fileis: self.fileId)
    }
Run Code Online (Sandbox Code Playgroud)

(这只是重要的部分)

然后我将我的下载功能放在一个单独的类文件中,然后启动一个DownloadTaskSession并使用以下委托来观察下载完成

func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didFinishDownloadingToURL location: NSURL) {
        println("session \(session) has finished the download task \(downloadTask) of URL \(location).")

        FileViewController().downloadLbl.text = "downloaded"
    }
Run Code Online (Sandbox Code Playgroud)

最后一行:FileViewController().downloadLbl.text = "downloaded"返回错误:致命错误:在展开Optional值时意外发现nil.

有人可以帮忙吗?

结论

这两个提议的解决方案在创建通信之间的通信时都有用,但是我去了通知解决方案,因为在我的情况下我必须更新UI以及后台线程进展并且使用协议不能按预期工作.进行了通信,但即使在使用dispatch_async方法推回主线程上的更改之后,更新UI仍无法正常工作.

使用通知系统有帮助,因为它更容易实现,管理和用于UI修改.

viewcontroller ios swift

0
推荐指数
1
解决办法
6435
查看次数

更改为Swift 3的UIViewControllerTransitioningDelegate定义可防止转换

我一直在按照教程添加为Swift 2编写的自定义转换:但我的自定义转换不会替换现有转换.

transition viewcontroller ios swift

0
推荐指数
1
解决办法
968
查看次数

Swift performSegueWithIdentifier显示黑屏

我已经阅读了很多关于这个问题的不同帖子,但没有一个解决方案对我有用.

我启动了一个新应用程序,并将初始ViewController放在导航控制器中.我创建了第二个视图,并在故事板上用segue将它们链接在一起.segue工作成功,我可以从第二个屏幕看到我在打印语句中传输的数据,但屏幕显示为黑色.

WelcomeScreen:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "segueToTraits"{
        if let gender = self.selectedGender{
            let traitVC = segue.destinationViewController as? TraitViewController
            traitVC!.gender = gender
        }
    }
}

func sendGenderToTraitsView(gender : String?){
    performSegueWithIdentifier("segueToTraits", sender: self)

}

@IBAction func button1(sender: UIButton) {
    selectedGender = boyGender
    self.sendGenderToTraitsView(selectedGender)
}


@IBAction func button2(sender: UIButton) {
    selectedGender = girlGender
    self.sendGenderToTraitsView(selectedGender)
}
Run Code Online (Sandbox Code Playgroud)

故事板: 链接到我的故事板的图像 我的segue设置如下: 链接到我的segue信息的图像

另外,我的viewControllers名为WelcomeViewController和TraitViewController.他们有来自welcomeVC和traitsVC的故事板id.

任何帮助都会非常感激.如果您需要任何其他信息,请与我们联系.

screen viewcontroller swift

0
推荐指数
2
解决办法
1953
查看次数

Swift 3:关闭弹出式ViewController

我在解雇VC时有一点问题。

我的项目有2个Viewcontroller。Viewcontroller A和ViewcontrollerB。

Viewcontroller A有一个按钮。如果我按此按钮,第二个ViewController B弹出。

第二个ViewController(B)有一个按钮。如果我单击此按钮,此操作将开始:

    @IBAction func dismiss(_ sender: UIBarButtonItem) {

    self.presentedViewController?.dismiss(animated: true, completion: nil)

}
Run Code Online (Sandbox Code Playgroud)

该操作实际上应该关闭Viewcontroller,并应再次向我显示ViewcontrollerA。

但是,如果我按下此按钮,则什么也不会发生。

我忘了什么吗?

viewcontroller ios swift swift3

0
推荐指数
1
解决办法
1293
查看次数

将图像从Objective VC发送到Swift配置的VC

我正在开发一个项目,某个地方需要ViewControler使用segue或storyboard 将编辑过的图像发送给另一个.

首先要了解一些要点.

  • ViewController我发送其使用配置的图像Objective C.
  • 并且图像将通过ViewController使用SwiftLang 配置的图像.

问题:

在Objective .m文件中导入的Swift类是不可见的,因此它允许我创建其对象以引用其成员.

我试过了:

// here i am not able to create SwiftVC class object so i can pass image further
SwfitVC *object = [self.storyboard instantiateViewControllerWithIdentifier:@"VC_Identifire"]; 
object.image = image; 
[self.navigationController pushViewController:object animated:YES];
Run Code Online (Sandbox Code Playgroud)

导入.m文件后,SwftVC类不可见.

请看看.谢谢.

iphone objective-c viewcontroller ios swift3

0
推荐指数
1
解决办法
81
查看次数